클라우드 실행기 테스트 생성 REST API

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기14분
  • ATF(Automated Test Framework)용 클라우드 실행기에서 실행할 테스트 작업 생성을 관리합니다.

    Cloud Runner Test Generation API에는 (sn_atf_tg) 플러그인이 ATF Test Generator and Cloud Runner 필요합니다. 이 API에서 사용할 수 있는 메서드는 now 네임스페이스에서 실행되며 REST API 탐색기에서 ATF에 대한 원클릭 회귀 테스트인 API 이름을 사용하여 호출할 수 있습니다. 이 API에 액세스하려면 관리자 역할이 필요합니다.

    이 API는 다음 작업에 사용할 수 있습니다.
    • 테스트 생성 작업을 시작합니다.
    • 테스트 생성 작업의 진행률을 확인합니다.
    • 테스트 생성 작업을 취소합니다.

    Cloud Runner Test Generation API 클라우드 실행기 테스트 실행기 REST API 는 및 클라우드 실행기 테스트 사용자 REST API. 예를 들어 Test Generation API를 호출하여 테스트를 실행한 다음 브라우저 오케스트레이션 큐(Cloud Runner TEST Generation API)에서 테스트 진행률을 가져온 다음 통과 또는 실패한 테스트 수를 확인할 수 있습니다.

    이 API의 서버 API 참조 문서를 보려면 을 참조하십시오 Cloud Runner TestGenerationApi – 범위가 지정됨, 전역.

    클라우드 실행기 테스트 생성 - GET /now/sn_atf_tg/test_generation_progress

    제공된 BOQ(브라우저 오케스트레이션 큐) 기록에 대해 생성된 각 테스트의 상태를 제공합니다.

    URL 형식

    기본 URL: GET /api/now/sn_atf_tg/test_generation_progress

    지원되는 요청 매개변수

    표 1. 경로 매개변수
    이름 설명
    없음
    표 2. 쿼리 매개변수
    이름 설명
    snboqID 필수 진행률을 가져올 테스트 생성 작업의 BOQ 기록 sys_id입니다. BOQ [sn_atf_tg_sn_boq] 테이블에 있습니다.

    데이터 유형: 문자열

    표 3. 요청 본문 매개변수(XML 또는 JSON)
    이름 설명
    없음

    헤더

    다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.

    표 4. 요청 헤더
    헤더 설명
    수용 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다.

    기본값: application/json

    표 5. 응답 헤더
    헤더 설명
    없음

    상태 코드

    다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.

    표 6. 상태 코드
    상태 코드 설명
    200 BOQ 작업의 진행률을 성공적으로 검색했습니다.
    400 BOQ 기록 상태를 가져오는 동안 오류가 발생했습니다. 다음 메시지 중 하나를 반환합니다.
    • BOQ ID가 전달되지 않음 – BOQ ID가 제공되지 않았습니다. 요청 본문에 BOQ ID를 추가합니다.
    • BOQ 기록을 찾을 수 없음 – 시스템 ID가 잘못되었습니다. BOQ 기록의 sys_id이 유효하고 기록이 존재하는지 확인합니다.
    403 엔드포인트에 대한 사용자 액세스 권한 부여 중 오류가 발생했습니다. 사용자에게 관리자 역할이 있는지 확인합니다.

    응답 본문 매개변수(JSON 또는 XML)

    이름 설명
    결과 생성된 테스트 작업의 진행 결과 또는 요청이 실패한 이유를 설명하는 메시지를 포함하는 객체입니다.

    데이터 유형: 객체

    "result": { 
        "testsSucceeded": Number, 
        "testsFailed": Number, 
        "testsPending": Number, 
        "testsInProgress": Number, 
        "testsSkipped": Number 
      } 
    }

    또는:

    {
      "result": { 
        "message": "String" 
      } 
    }
    결과.메시지 테스트 생성 진행률을 검색할 수 없는 이유를 자세히 설명하는 오류 메시지입니다. message 매개 변수는 성공적인 응답에서 반환되지 않습니다.

    데이터 유형: 문자열

    result.testsSucceeded 통과한 생성된 테스트 수입니다.

    데이터 유형: 숫자

    result.testsFailed 실패한 생성된 테스트 수입니다.

    데이터 유형: 숫자

    result.testsPending 생성된 테스트를 기다리는 사용 사례 수입니다.

    데이터 유형: 숫자

    result.testsInProgress 테스트가 생성된 사용 사례 수입니다.

    데이터 유형: 숫자

    result.testsSkipped 작업 취소로 인해 건너뛴 테스트 수입니다.

    데이터 유형: 숫자

    cURL 요청

    다음 GET 호출은 snboqId 1234와 관련된 생성된 테스트에 대한 진행률 정보를 반환합니다.

    curl "https://instance.service-now.com/api/now/sn_atf_tg/test_generation_progress?snboqId=1234" \ 
    --request GET \ 
    --header "Accept:application/json" \ 
    --user "username":"password"

    출력:

    { 
      "result": { 
        "testsSucceeded": 0, 
        "testsFailed": 0, 
        "testsPending": 0, 
        "testsInProgress": 0, 
        "testsSkipped": 161 
      } 
    }

    다음 예제에서는 BOQ ID가 전달되지 않은 경우 400 오류 메시지를 반환합니다.

    curl "http://instance.service-now.com/api/now/sn_atf_tg/test_generation_progress" \
    --request GET \
    --header "Accept:application/json" \
    --user "username":"password"

    응답:

    {
      "result": {
        "message": "No SNBOQ ID passed in, add snboqId to request body"
      }
    }

    다음 예제에서는 잘못된 BOQ ID가 전달될 때 400 오류 메시지를 반환합니다.

    curl "http://instance.service-now.com/api/now/sn_atf_tg/test_generation_progress?snboqId=invalid_sys_id" \
    --request GET \
    --header "Accept:application/json" \
    --user "username":"password"

    응답:

    {
      "result": {
        "message": "Invalid SNBOQ sys_id passed in"
      }
    }

    클라우드 실행기 테스트 생성 - POST /now/sn_atf_tg/cancel_test_generation

    테스트 생성 작업 및 관련 업데이트 세트 기록을 완료 상태로 설정합니다. 실행 중인 생성된 테스트의 루트 추적기를 취소합니다. 취소 시 진행 중인 테스트 작업이 있는 경우 이 메서드는 생성된 진행 중인 테스트 레코드를 건너뜀으로 설정합니다.

    테스트는 비즈니스 규칙 또는 접근 통제 규칙(ACL) 문제로 인해 자동으로 실패하거나 취소될 수 있습니다. 실패 또는 취소된 테스트에 대한 자세한 내용은 생성된 테스트 테이블을 참조하십시오.

    URL 형식

    기본 URL: POST /api/now/sn_atf_tg/cancel_test_generation

    지원되는 요청 매개변수

    표 7. 경로 매개변수
    이름 설명
    없음
    표 8. 쿼리 매개변수
    이름 설명
    없음
    표 9. 요청 본문 매개변수(XML 또는 JSON)
    이름 설명
    snboqID 필수. 취소할 BOQ(브라우저 오케스트레이션 큐) 기록의 sys_id입니다. BOQ [sn_atf_tg_sn_boq] 테이블에 있습니다.

    데이터 유형: 문자열

    헤더

    다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.

    표 10. 요청 헤더
    헤더 설명
    수용 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다.

    기본값: application/json

    컨텐츠-형식 요청 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다.

    기본값: application/json

    표 11. 응답 헤더
    헤더 설명
    없음

    상태 코드

    다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.

    표 12. 상태 코드
    상태 코드 설명
    200 BOQ 작업을 성공적으로 취소했습니다.
    400 작업을 취소하는 동안 오류가 발생했습니다. 다음 메시지 중 하나를 반환합니다.
    • BOQ ID가 전달되지 않음 – BOQ ID가 제공되지 않았습니다. 요청 본문에 BOQ ID를 추가합니다.
    • BOQ 기록을 찾을 수 없음 – 시스템 ID가 잘못되었습니다. BOQ 기록의 sys_id이 유효하고 기록이 존재하는지 확인합니다.
    403 엔드포인트에 대한 사용자 액세스 권한 부여 중 오류가 발생했습니다. 사용자에게 관리자 역할이 있는지 확인합니다.

    응답 본문 매개변수(JSON 또는 XML)

    이름 설명
    결과 취소 요청의 결과를 포함하는 객체입니다.

    데이터 유형: 객체

    "result": { 
        "message": String
    }
    결과.메시지 테스트 취소가 성공했는지 여부를 자세히 설명하는 메시지입니다.

    데이터 유형: 문자열

    cURL 요청

    다음 요청은 지정된 BOQ 레코드의 테스트 생성 작업을 취소합니다.

    curl "http://instance.service-now.com/api/now/sn_atf_tg/cancel_test_generation" \ 
    --request POST \ 
    --header "Accept:application/json" \ 
    --header "Content-Type:application/json" \ 
    --data "{\"snboqId\":\"<sys_id of BOQ record>\"}" \ 
    --user "username":"password"

    응답 본문은 취소의 성공 메시지를 반환합니다.

    { 
      "result": { 
        "message": "success" 
      } 
    }

    다음 예제에서는 BOQ ID가 전달되지 않은 경우 400 오류 메시지를 반환합니다.

    curl "http://instance.service-now.com/api/now/sn_atf_tg/cancel_test_generation" \
    --request POST \
    --header "Accept:application/json" \
    --user "username":"password"

    응답:

    {
      "result": {
        "message": "No SNBOQ ID passed in, add snboqId to request body"
      }
    }

    다음 예제에서는 잘못된 BOQ ID가 전달될 때 400 오류 메시지를 반환합니다.

    curl "http://instance.service-now.com/api/now/sn_atf_tg/cancel_test_generation" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{\"snboqId\":\"invalid_sys_id\"}" \
    --user "username":"password"

    응답:

    {
      "result": {
        "message": "No SNBOQ ID passed in, add snboqId to request body"
      }
    }

    클라우드 실행기 테스트 생성 - POST /now/sn_atf_tg/test_generation

    브라우저 오케스트레이션 큐(BOQ) [sn_atf_tg_sn_boq] 테이블에 기록을 삽입하여 테스트 작업을 시작합니다.

    URL 형식

    기본 URL: POST /api/now/sn_atf_tg/test_generation

    지원되는 요청 매개변수

    표 13. 경로 매개변수
    이름 설명
    없음
    표 14. 쿼리 매개변수
    이름 설명
    없음
    표 15. 요청 본문 매개변수(XML 또는 JSON)
    이름 설명
    catalogEncodedQuery 테스트를 생성할 카탈로그 항목을 지정하는 인코딩된 쿼리입니다. 빈 문자열은 기본적으로 모든 카탈로그 항목으로 설정됩니다. 인코딩된 쿼리 작성에 대한 자세한 내용은 을 참조하십시오 Encoded query strings.

    데이터 유형: 문자열

    이메일 테스트 생성이 완료될 때 경보를 보낼 이메일 주소입니다.

    데이터 유형: 문자열

    maxTestCount (최대 테스트 수) 생성할 전체 테스트 수입니다.

    허용되는 값: 1에서 9999 사이의 숫자입니다.

    데이터 유형: 숫자

    기본값: 9999

    maxTestCountPerItem 카탈로그 항목당 생성할 테스트 수입니다.

    허용되는 값: 1에서 10 사이의 숫자입니다.

    데이터 유형: 숫자

    기본값: 10

    maxTestCountPerTable (영문) 테이블당 생성할 테스트 수입니다.

    허용되는 값: 1에서 10 사이의 숫자입니다.

    데이터 유형: 숫자

    기본값: 10

    tableEncodedQuery 테스트를 생성할 테이블을 지정하는 인코딩된 쿼리입니다. 빈 문자열은 기본적으로 모든 테이블로 설정됩니다. 인코딩된 쿼리 작성에 대한 자세한 내용은 을 참조하십시오 Encoded query strings.

    데이터 유형: 문자열

    separateUpdateSetPerScope (별도 업데이트 설정PerScope) 생성된 테스트를 각각의 도구 모음, 업데이트 세트 및 범위로 분리할지, 또는 테스트를 하나의 도구 모음, 업데이트 세트 및 범위에 배치할지를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 테스트가 각 테이블 또는 카탈로그 항목의 범위에 따라 해당 도구 모음 및 업데이트 세트에 배치됩니다.
    • false: 생성된 모든 테스트가 동일한 도구 모음, 업데이트 세트 및 범위에 배치됩니다. false인 scopeForGeneratingTests 경우 요청에 필요합니다.

    데이터 유형: 부울

    기본값: true

    scopeForGeneratingTests (영문) 가 아니오로 설정된 경우 separateUpdateSetPerScope 필요합니다. 생성된 모든 테스트를 배치할 범위의 Sys_id입니다.

    데이터 유형: 문자열

    userEncodedQuery 테스트를 생성할 사용자를 지정하는 인코딩된 쿼리입니다. 빈 문자열 입력은 기본적으로 모든 테이블로 설정됩니다. 인코딩된 쿼리 작성에 대한 자세한 내용은 을 참조하십시오 Encoded query strings.

    데이터 유형: 문자열

    헤더

    다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.

    표 16. 요청 헤더
    헤더 설명
    수용 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다.

    기본값: application/json

    컨텐츠-형식 요청 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다.

    기본값: application/json

    표 17. 응답 헤더
    헤더 설명
    없음

    상태 코드

    다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.

    표 18. 상태 코드
    상태 코드 설명
    200 테스트 생성 BOQ 작업을 성공적으로 삽입했습니다. 모든 오류는 처리 중에 BOQ 레코드 로그에 표시됩니다. 모든 입력은 기본적으로 모든 테이블 및 서비스 카탈로그 항목에 대해 최대 테스트 수를 생성합니다.
    403 엔드포인트에 대한 사용자 액세스 권한 부여 중 오류가 발생했습니다. 사용자에게 관리자 역할이 있는지 확인합니다.

    응답 본문 매개변수(JSON 또는 XML)

    이름 설명
    결과 요청 결과를 포함하는 객체입니다.
    
      "result": { 
        "snboqId": String
      }

    데이터 유형: 객체

    결과.snboqId 테스트 생성이 시작될 때 sn_atf_tg_sn_boq 테이블에 삽입된 기록의 Sys_id입니다.

    데이터 유형: 문자열

    cURL 요청

    다음 요청 예제에서는 요청 파라미터 없이 인스턴스에서 새 테스트 작업을 시작하고 BOQ 테이블에 작업을 삽입합니다.

    curl "http://instance.service-now.com/api/now/sn_atf_tg/test_generation" \ 
    --request POST \ 
    --header "Accept:application/json" \ 
    --user "username":"password"

    응답 본문:

    { 
      "result": { 
        "snboqId": <sys_id of newly inserted BOQ record> 
      } 
    }

    다음 요청 예제에서는 최대 테스트 수가 2인 새 테스트 작업을 시작하고 테스트를 인시던트 테이블로 필터링한 다음 BOQ 테이블에 작업을 삽입합니다.

    curl "http://instance.service-now.com/api/now/sn_atf_tg/test_generation" \ 
    --request POST \ 
    --header "Accept:application/json" \ 
    --header "Content-Type:application/json" \ 
    --data "{\"maxTestCount\":\"2\",\"tableEncodedQuery\":\"name=incident\"}" \ 
    --user "username":"password"

    응답 본문:

    { 
      "result": { 
        "snboqId": <sys_id of newly inserted BOQ record> 
      } 
    }