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

  • 릴리스 버전: Washingtondc
  • 업데이트 날짜 2024년 02월 01일
  • 읽기3분
  • 클라이언트 오류를 식별하고 클라이언트 측 스크립트에서 해결합니다.

    시작하기 전에

    필요한 역할: admin

    이 태스크 정보

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

    프로시저

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

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

      이 단계 결과는 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)가 정의되지 않았습니다.

    Sys ID별 스크립트 자원 링크

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

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

    스크립트 접근 권한

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