클라이언트 오류 식별 및 해결

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 3분
  • 클라이언트 오류를 식별하고 클라이언트 측 스크립트에서 해결합니다.

    시작하기 전에

    필요한 역할: 관리자

    이 태스크 정보

    클라이언트 오류가 발생하면 Automated Test Framework 오류가 발생했을 때 실행 중이던 단계의 테스트에 실패합니다. 프로시저가 실행되는 동안 클라이언트 측 스크립트가 JavaScript 오류에서 자동으로 실패할 수 있더라도 오류는 여전히 데이터와 실행 중인 프로시저에 영향을 미칠 수 있습니다. Automated Test Framework는 이러한 오류를 확인 실패로 간주합니다.

    프로시저

    1. 다음으로 이동 모두 > 애플리케이션 > Automated Test Framework > 테스트 및 양식과 상호작용하는 Automated Test Framework 테스트를 실행합니다.
    2. 이 테스트에 대한 테스트 결과에서 다음 요약이 포함된 단계 결과를 확인합니다.

      테스트 중인 페이지에서 클라이언트 오류 "자세한 오류 메시지"가 탐지되었기 때문에 이 단계는 실패했습니다. 실패한 테스트 로그를 참조하십시오. 다음 테스트 실행에서 이러한 오류를 무시하려면 "경고/무시된 목록에 모든 클라이언트 오류 추가" 링크를 사용합니다.

      이 단계 결과는 UI와 상호 작용하는 단계에만 나타납니다.

    3. 이러한 스크립트 오류를 식별하고 해결하려면 클라이언트 테스트 러너 페이지에서 개발자 도구 브라우저 콘솔을 엽니다.
      주:
      브라우저 콘솔을 여는 방법에 대한 자세한 내용은 다음 문서를 참조하십시오. http://webmasters.stackexchange.com/questions/8525/how-to-open-the-javascript-console-in-different-browsers
    4. 오류가 표시되면 다음 기본 시스템 테이블에 있을 수 있는 문제가 있는 클라이언트 측 스크립트를 식별하고 해결합니다.
      • ServiceNow 클라이언트 스크립트
      • UI 작업
      • UI 매크로(HTML 스크립트)
      • UI 페이지(HTML 스크립트)
      • UI 정책
      • UI 스크립트
      • 앞의 기본 시스템 테이블을 확장하는 테이블
    5. 스크립트에 오류가 있는지 검토하고 수정한 후에는 테스트를 다시 실행합니다.

    다음에 수행할 작업

    스크립트 버전 기록을 검토하여 클라이언트 오류의 원인을 확인합니다. 기본 시스템 스크립트를 사용자 지정한 경우 스크립트에 업그레이드 중에 건너뛰었던 새 버전이 있을 수 있습니다.

    클라이언트 오류 예

    일반적인 클라이언트 오류에는 여러 유형이 있습니다.

    클라이언트 JavaScript 오류

    클라이언트 스크립트로 인해 오류가 발생하면 브라우저 콘솔에 다음 예시와 비슷한 오류가 표시됩니다.

    ***************************************************
    A script has encountered an error in render events
    TypeError: Cannot read property 'id' of undefined
    Script ends. Continuing happily
    ***************************************************
    [00:00:00.002] onLoad Modify Comments Label

    이 예시에서는 클라이언트 스크립트 Modify Comments Label이 오류를 발생시켰습니다.

    기타 클라이언트 스크립트 오류

    그 외 유형의 스크립트 오류는 발생 시 모든 형식과 함께 브라우저 콘솔에 직접 보고됩니다.

    TypeError: callbacks(id)가 정의되지 않음

    시스템 ID별 스크립트 자원 링크

    경우에 따라 콘솔 오류는 시스템 ID를 사용하여 스크립트 리소스 파일에 대한 링크를 제공합니다. 이 링크를 따라가면 어떤 스크립트가 실행했는지에 대한 컨텍스트를 알 수 있습니다.

    Uncaught ReferenceError: myobj is not defined
        at incident.do?sys_id=12345678901234567890123456789012
    (anonymous) @ incident.do?sys_id=12345678901234567890123456789012  <---- LINK
    

    스크립트 액세스 권한

    문제가 있는 스크립트를 식별하는 동안 스크립트에 데이터 접근 권한이 있는지 확인합니다. 확인:
    • 테이블 및 필드에 대한 접근 통제 규칙 권한입니다.
    • 스크립트가 비공개 범위의 애플리케이션에 액세스하는 경우 애플리케이션 액세스 권한입니다.
    • 도메인 분리가 구성된 경우 도메인 분리 권한입니다.