REST Resource: projects.histories.executions.steps

리소스: 단계

단계는 실행의 일부로 수행되는 단일 작업을 나타냅니다. 단계는 도구의 실행 ( 예: 테스트 실행기 실행 또는 컴파일러의 실행)을 나타내는 데 사용할 수 있습니다.

단계는 중복될 수 있습니다. 예를 들어 일부 작업이 동시에 완료되는 경우 두 단계의 시작 시간이 같을 수 있습니다.

다음 예를 통해 연속 빌드가 각 반복에 대해 테스트 실행기를 실행한다고 가정해 보겠습니다. 워크플로는 다음과 같습니다. - 사용자가 ID가 1인 실행을 생성 - 사용자는 실행 1에 대해 ID 100으로 TestExecutionStep을 생성 - 사용자가 ID 100으로 TestExecutionStep을 업데이트하여 원시 xml 로그를 추가 + 서비스가 xml 로그를 파싱하고 업데이트된 TestResult와 함께 TestExecutionStep을 반환합니다. - 사용자가 ID가 100인 TestExecutionStep의 상태를 COMPLETE로 업데이트

Step은 상태가 COMPLETE로 설정될 때까지 업데이트할 수 있으며, 그 시점에는 불변이 됩니다.

JSON 표현
{
  "stepId": string,
  "creationTime": {
    object (Timestamp)
  },
  "completionTime": {
    object (Timestamp)
  },
  "name": string,
  "description": string,
  "state": enum (State),
  "outcome": {
    object (Outcome)
  },
  "hasImages": boolean,
  "labels": {
    string: string,
    ...
  },
  "dimensionValue": {
    string: string,
    ...
  },
  "runDuration": {
    object (Duration)
  },
  "deviceUsageDuration": {
    object (Duration)
  },
  "multiStep": {
    object (MultiStep)
  },

  // Union field step can be only one of the following:
  "testExecutionStep": {
    object (TestExecutionStep)
  },
  "toolExecutionStep": {
    object (ToolExecutionStep)
  }
  // End of list of possible types for union field step.
}
필드
stepId

string

이 단계의 실행 내에서 고유 식별자입니다.

호출자가 이 필드를 설정하거나 덮어쓸 경우 INVALID_ARGUMENT를 반환합니다.

  • 응답: 항상 설정
  • 생성/업데이트 요청: 설정되지 않음
creationTime

object (Timestamp)

단계가 생성된 시간입니다.

  • 응답: 항상 설정
  • 생성/업데이트 요청: 설정되지 않음
completionTime

object (Timestamp)

단계 상태가 완료로 설정된 시간입니다.

이 값은 상태가 COMPLETE로 전환될 때 자동으로 설정됩니다.

  • 응답: 실행 상태가 COMPLETE이면 설정됩니다.
  • 생성/업데이트 요청: 설정되지 않음
name

string

UI에 표시할 사람이 읽을 수 있는 짧은 이름입니다. 최대 100자(영문 기준)까지 입력할 수 있습니다. 예: 클린 빌드

새 단계를 만들 때 이름 및 측정기준Value를 기존 단계와 공유하는 경우 PRECONDITION_FAILED가 반환됩니다. 두 단계의 액션이 비슷하지만 측정기준 값이 다른 경우 두 단계의 이름이 동일해야 합니다. 예를 들어, 동일한 테스트 세트를 두 개의 다른 플랫폼에서 실행하는 경우 두 단계의 이름은 동일해야 합니다.

  • 응답: 항상 설정
  • 생성 요청 시: 항상 설정
  • 업데이트 요청 중: 설정되지 않음
description

string

이 도구에 대한 설명(예: mvn clear package -D skipTests=true)

  • 응답: 생성/업데이트 요청에 의해 설정된 경우 존재
  • 생성/업데이트 요청: 선택사항
state

enum (State)

초기 상태는 IN_PROGRESS입니다. 유일한 정상 상태 전환은 * IN_PROGRESS ->입니다. 완료

잘못된 전환이 요청되면 PRECONDITION_FAILED가 반환됩니다.

상태가 COMPLETE로 설정된 단계를 생성하는 것은 유효합니다. 상태는 한 번만 COMPLETE로 설정할 수 있습니다. 상태가 COMPLETE로 여러 번 설정되면 PRECONDITION_FAILED가 반환됩니다.

  • 응답: 항상 설정
  • 생성/업데이트 요청: 선택사항
outcome

object (Outcome)

결과의 분류입니다(예: SUCCESS 또는 FAILURE).

  • 응답: 생성/업데이트 요청에 의해 설정된 경우 존재
  • 생성/업데이트 요청: 선택사항
hasImages

boolean

이 단계의 출력 중에 썸네일 이미지 목록을 사용하여 썸네일을 가져올 수 있는 이미지가 있는지 여부입니다.

  • 응답: 항상 설정
  • 생성/업데이트 요청: 설정되지 않음
labels

map (key: string, value: string)

단계와 연결된 임의의 사용자 제공 키/값 쌍입니다.

키가 실수로 충돌하지 않도록 키 네임스페이스를 관리할 책임은 사용자에게 있습니다.

라벨 수가 100개를 초과하거나 키 또는 값의 길이가 100자를 초과하면 INVALID_ARGUMENT가 반환됩니다.

  • 응답: 항상 설정
  • 생성 요청: 선택사항
  • 업데이트 요청: 선택 사항 새 키-값 쌍이 맵에 추가되고 기존 키에 대한 새 값은 해당 키의 값을 업데이트합니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

dimensionValue

map (key: string, value: string)

이 단계를 포함하는 실행에 dimension_definition이 설정된 경우 이 필드를 통해 하위 요소가 측정기준의 값을 지정할 수 있습니다.

키는 실행의 dimension_definition과 정확하게 일치해야 합니다.

예를 들어 실행에 dimension_definition = ['attempt', 'device']가 있으면 단계에서 이러한 측정기준의 값을 정의해야 합니다. 예를 들어 dimensionValue = ['attempt': '1', 'device': 'Nexus 6']

단계가 행렬의 한 차원에 참여하지 않는 경우 해당 차원의 값은 빈 문자열이어야 합니다. 예를 들어 재시도를 지원하지 않는 실행기에서 테스트 중 하나를 실행하는 경우 단계는 dimensionValue = ['attempt': '', 'device': 'Nexus 6']가 될 수 있습니다.

단계가 매트릭스의 어떤 측정기준에도 참여하지 않는 경우 dimensionValue가 설정되지 않은 채로 둘 수 있습니다.

실행의 dimension_definition에 키가 없는 경우 PRECONDITION_FAILED가 반환됩니다.

이 실행의 다른 단계에 이미 동일한 name과 dimensionValue가 있지만 다른 데이터 필드와는 다른 경우(예: 단계 필드가 다른 경우) PRECONDITION_FAILED가 반환됩니다.

annotationValue가 설정되어 있고 키 중 하나로 지정되지 않은 측정기준_정의가 실행에 있는 경우 PRECONDITION_FAILED가 반환됩니다.

  • 응답: create로 설정된 경우 존재
  • 생성 요청: 선택사항
  • 업데이트 요청 중: 설정되지 않음

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

runDuration

object (Duration)

이 단계를 실행하는 데 걸린 시간입니다.

설정하지 않으면 단계가 COMPLETE 상태로 설정될 때 createdTime과 completeTime의 차이가 설정됩니다. 경우에 따라서는 이 값을 별도로 설정하는 것이 적절합니다. 예를 들어 단계를 만들었지만 단계가 나타내는 작업이 실행되기 전에 몇 분 동안 큐에 있는 경우, runDuration에 큐에 추가된 시간을 포함하지 않는 것이 적절할 수 있습니다.

이 필드가 이미 설정된 단계에서 runDuration을 설정하려고 하면 PRECONDITION_FAILED가 반환됩니다.

  • 응답: 이전에 설정된 경우 존재합니다. COMPLETE 단계에 항상 표시
  • 생성 요청: 선택사항
  • 업데이트 요청: 선택사항
deviceUsageDuration

object (Duration)

테스트를 실행하는 데 사용되는 기기 리소스의 양입니다.

결제 목적으로 사용되는 기기 사용량이며 runDuration과 다릅니다. 예를 들어 인프라 장애의 경우 기기 사용 요금이 청구되지 않습니다.

이 필드가 이미 설정된 단계에서 device_usage을 설정하려고 시도하면 PRECONDITION_FAILED가 반환됩니다.

  • 응답: 이전에 설정된 경우 표시됩니다.
  • 생성 요청: 선택사항
  • 업데이트 요청: 선택사항
multiStep

object (MultiStep)

그룹과 동일한 구성으로 여러 단계를 실행하는 경우의 세부정보입니다. 이러한 세부정보를 사용하여 이 단계가 속한 그룹을 식별할 수 있습니다. 또한 그룹의 '기본 단계'를 식별합니다. 모든 그룹 구성원의 색인을 생성합니다.

  • 응답: 이전에 설정된 경우 표시됩니다.
  • 만들기 요청(선택사항)에서 이 단계가 두 번 이상 수행된 경우 설정합니다.
  • 업데이트 요청: 선택사항

통합 필드 step.

step는 다음 중 하나여야 합니다.

testExecutionStep

object (TestExecutionStep)

테스트 실행기 실행

toolExecutionStep

object (ToolExecutionStep)

도구의 실행 (Google에서 명시적으로 지원하지 않는 단계에 사용됨)

테스트 실행 단계

테스트 실행을 나타내는 단계입니다.

ant-junit xml 파일을 허용하며, 이 파일은 서비스에 의해 구조화된 테스트 결과로 파싱됩니다. 파일을 더 추가하기 위해 XML 파일 경로가 업데이트되지만 삭제할 수는 없습니다.

사용자는 test_result 필드를 사용하여 테스트 결과를 수동으로 추가할 수도 있습니다.

JSON 표현
{
  "testSuiteOverviews": [
    {
      object (TestSuiteOverview)
    }
  ],
  "toolExecution": {
    object (ToolExecution)
  },
  "testIssues": [
    {
      object (TestIssue)
    }
  ],
  "testTiming": {
    object (TestTiming)
  }
}
필드
testSuiteOverviews[]

object (TestSuiteOverview)

테스트 모음 개요 콘텐츠의 목록입니다. 이는 서버에서 xUnit XML 로그에서 파싱하거나 사용자가 직접 업로드할 수 있습니다. 이 참조는 테스트 도구 모음이 완전히 파싱되거나 업로드된 경우에만 호출해야 합니다.

단계당 허용되는 최대 테스트 모음 개요 수는 1,000개입니다.

  • 응답: 항상 설정
  • 생성 요청: 선택사항
  • 업데이트 요청 중: 없음 (대신 publishXunitXmlFiles 커스텀 메서드 사용)
toolExecution

object (ToolExecution)

테스트 실행기의 실행을 나타냅니다.

이 도구의 종료 코드는 테스트 통과 여부를 확인하는 데 사용됩니다.

  • 응답: 항상 설정
  • 생성/업데이트 요청: 선택사항
testIssues[]

object (TestIssue)

테스트 실행 중에 관찰된 문제

예를 들어 테스트 중에 테스트 중인 모바일 앱이 비정상 종료된 경우 디버깅을 지원하기 위해 오류 메시지와 스택 트레이스 콘텐츠를 여기에 기록할 수 있습니다.

  • 응답: create 또는 update로 설정된 경우 존재
  • 생성/업데이트 요청: 선택사항
testTiming

object (TestTiming)

테스트 실행의 타이밍 분석입니다.

  • 응답: create 또는 update로 설정된 경우 존재
  • 생성/업데이트 요청: 선택사항

도구 실행

임의 도구의 실행입니다. 테스트 실행기이거나 아티팩트를 복사하거나 코드를 배포하는 도구일 수 있습니다.

JSON 표현
{
  "commandLineArguments": [
    string
  ],
  "toolLogs": [
    {
      object (FileReference)
    }
  ],
  "exitCode": {
    object (ToolExitCode)
  },
  "toolOutputs": [
    {
      object (ToolOutputReference)
    }
  ]
}
필드
commandLineArguments[]

string

프로그램 이름을 포함하여 토큰화된 전체 명령줄입니다 (C 프로그램의 argv와 같음).

  • 응답: 생성 요청으로 설정된 경우 존재
  • 생성 요청: 선택사항
  • 업데이트 요청 중: 설정되지 않음
toolLogs[]

object (FileReference)

일반 텍스트 로그를 참조하면 도구 실행이 출력됩니다.

이 필드는 도구가 실행되는 동안 로그의 실시간 보기에 액세스할 수 있도록 도구가 종료되기 전에 설정할 수 있습니다.

단계당 허용되는 최대 도구 로그 수는 1,000개입니다.

  • 응답: 생성/업데이트 요청에 의해 설정된 경우 존재
  • 생성 요청: 선택사항
  • 업데이트 요청: 선택사항. 제공된 모든 값이 기존 목록에 추가됩니다.
exitCode

object (ToolExitCode)

도구 실행 종료 코드입니다. 이 필드는 도구가 종료되면 설정됩니다.

  • 응답: 생성/업데이트 요청에 의해 설정된 경우 존재
  • 생성 요청: 선택사항
  • 업데이트 요청(선택사항)에서 exitCode가 이미 설정된 경우 FAILED_PRECONDITION 오류가 반환됩니다.
toolOutputs[]

object (ToolOutputReference)

도구 실행으로 인해 출력되는 모든 형식의 불투명 파일에 대한 참조입니다.

단계당 허용되는 최대 도구 출력 수는 1,000개입니다.

  • 응답: 생성/업데이트 요청에 의해 설정된 경우 존재
  • 생성 요청: 선택사항
  • 업데이트 요청: 선택사항. 제공된 모든 값이 기존 목록에 추가됩니다.

도구 종료 코드

도구 실행의 코드 종료

JSON 표현
{
  "number": integer
}
필드
number

integer

도구 실행 종료 코드입니다. 값이 0이면 실행이 성공했음을 의미합니다.

  • 응답: 항상 설정
  • 생성/업데이트 요청 시: 항상 설정됨

TestIssue

테스트 실행 중에 발생한 문제가 감지되었습니다.

JSON 표현
{
  "errorMessage": string,
  "stackTrace": {
    object (StackTrace)
  },
  "warning": {
    object (Any)
  },
  "severity": enum (Severity),
  "type": enum (Type),
  "category": enum (Category)
}
필드
errorMessage

string

사람이 읽을 수 있는 간단한 메시지로 문제를 설명합니다. 필수 항목입니다.

stackTrace
(deprecated)

object (StackTrace)

지원 중단되고 특정 경고 내의 스택 트레이스 필드로 대체되었습니다.

warning

object (Any)

문제에 대한 추가 세부정보가 포함된 경고 메시지 항상 com.google.devtools.toolresults.v1.warnings의 메시지여야 합니다.

severity

enum (Severity)

문제의 심각도 필수 항목입니다.

type

enum (Type)

문제 유형입니다. 필수 항목입니다.

category

enum (Category)

문제 카테고리입니다. 필수 항목입니다.

모두

Any에는 직렬화된 메시지의 유형을 설명하는 URL과 함께 임의의 직렬화된 프로토콜 버퍼 메시지가 포함됩니다.

Protobuf 라이브러리는 유틸리티 함수 형식으로 모든 값을 패킹/압축 풀기 위한 지원 또는 Any 유형의 생성된 추가 메서드를 지원합니다.

예 1: C++로 메시지 패키징 및 압축해제

Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
  ...
}

예 2: Java에서 메시지 패키징 및 압축해제

Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
  foo = any.unpack(Foo.class);
}

예 3: Python에서 메시지 패키징 및 압축해제

foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
  any.Unpack(foo)
  ...

예 4: Go에서 메일 포장 및 압축해제

 foo := &pb.Foo{...}
 any, err := ptypes.MarshalAny(foo)
 ...
 foo := &pb.Foo{}
 if err := ptypes.UnmarshalAny(any, foo); err != nil {
   ...
 }

protobuf 라이브러리에서 제공되는 팩 메서드는 기본적으로 'type.googleapis.com/full.type.name'을 사용합니다. 을 유형 URL로 사용하고 압축해제 메서드는 마지막 '/' 뒤에 있는 정규화된 유형 이름만 사용합니다. 유형 URL(예: 'foo.bar.com/x/y.z') 유형 이름 'y.z'를 생성합니다.

JSON

Any 값의 JSON 표현은 URL 유형을 포함하는 추가 필드 @type와 함께 직렬화되지 않은 삽입된 메시지의 일반적인 표현을 사용합니다. 예:

package google.profile;
message Person {
  string first_name = 1;
  string last_name = 2;
}

{
  "@type": "type.googleapis.com/google.profile.Person",
  "firstName": <string>,
  "lastName": <string>
}

삽입된 메시지 유형이 잘 알려져 있고 커스텀 JSON 표현이 있는 경우 @type 필드 외에 커스텀 JSON을 보유하는 value 필드를 추가하여 해당 표현이 삽입됩니다. 예 (google.protobuf.Duration 메시지):

{
  "@type": "type.googleapis.com/google.protobuf.Duration",
  "value": "1.212s"
}
JSON 표현
{
  "typeUrl": string,
  "value": string
}
필드
typeUrl

string

직렬화된 프로토콜 버퍼 메시지의 유형을 고유하게 식별하는 URL/리소스 이름입니다. 이 문자열에는 '/'가 하나 이상 포함되어야 합니다. 있습니다. URL 경로의 마지막 세그먼트는 path/google.protobuf.Duration에서와 같이 정규화된 유형의 이름을 나타내야 합니다. 이름은 표준 형식이어야 합니다 (예: 맨 앞의 '.'는 허용되지 않음).

실제로 팀은 일반적으로 Any의 컨텍스트에서 사용할 것으로 예상되는 모든 유형을 바이너리로 사전 컴파일합니다. 그러나 http 또는 https 스키마를 사용하거나 스키마를 사용하지 않는 URL의 경우 다음과 같이 유형 URL을 메시지 정의에 매핑하는 유형 서버를 선택적으로 설정할 수 있습니다.

  • 스키마가 제공되지 않은 경우 https으로 가정됩니다.
  • URL의 HTTP GET은 바이너리 형식의 google.protobuf.Type 값을 반환하거나 오류를 발생시켜야 합니다.
  • 애플리케이션은 URL을 기반으로 조회 결과를 캐시하거나 조회를 피하기 위해 바이너리로 미리 컴파일할 수 있습니다. 따라서 유형이 변경될 때 바이너리 호환성을 보존해야 합니다. 버전이 지정된 유형 이름을 사용하여 브레이킹 체인지를 관리하세요.

참고: 이 기능은 현재 공식 protobuf 출시에서 사용할 수 없으며 type.googleapis.com으로 시작하는 유형 URL에는 사용되지 않습니다.

http, https (또는 빈 스키마) 이외의 스키마는 구현별 시맨틱스와 함께 사용될 수 있습니다.

value

string (bytes format)

위에 지정된 유형의 유효한 직렬화된 프로토콜 버퍼여야 합니다.

base64 인코딩 문자열입니다.

심각도

문제의 심각도

열거형
unspecifiedSeverity 기본적으로 지정되지 않은 심각도입니다. 사용하지 마세요. 버전 관리 전용입니다.
info 사용자에게 테스트 실행에 관한 일부 정보를 제공하는 중요하지 않은 문제입니다.
suggestion 사용자에게 테스트 환경 개선에 관한 힌트를 제공하는 등 심각하지 않은 문제(예: 게임 루프 사용 제안)
warning 중요할 수 있는 문제입니다.
severe 심각한 문제입니다.

유형

문제 유형.

열거형
unspecifiedType 기본적으로 지정되지 않은 유형입니다. 사용하지 마세요. 버전 관리 전용입니다.
fatalException 문제는 치명적인 예외입니다.
nativeCrash 네이티브 충돌 문제입니다.
anr 문제는 ANR 비정상 종료입니다.
unusedRoboDirective 사용되지 않은 robo 지시어가 문제입니다.
compatibleWithOrchestrator 문제는 조정자 사용을 제안하는 것입니다.
launcherActivityNotFound 런처 활동 찾기 관련 문제
startActivityNotFound 활동 시작을 위해 사용자 제공 인텐트를 해결하는 문제
incompleteRoboScriptExecution Robo 스크립트가 완전히 실행되지 않았습니다.
completeRoboScriptExecution Robo 스크립트가 완전히 실행되었습니다.
failedToInstall APK를 설치할 수 없습니다.
nonSdkApiUsageViolation 앱이 SDK가 아닌 API에 액세스했습니다.
nonSdkApiUsageReport 앱에서 SDK가 아닌 API에 액세스함 (새로운 세부 보고서)
encounteredNonAndroidUiWidgetScreen Robo 크롤링 중에 Android UI 위젯이 아닌 요소가 있는 화면이 하나 이상 발견되었습니다.
encounteredLoginScreen Robo 크롤링 중에 로그인 화면이 1개 이상 발견되었습니다.
performedGoogleLogin Robo가 Google로 로그인했습니다.
iosException iOS 앱이 예외와 함께 비정상 종료되었습니다.
iosCrash iOS 앱이 예외 없이 비정상 종료되었습니다 (예: 종료됨).
performedMonkeyActions Robo 크롤링에 일부 monkey 작업이 수행되었습니다.
usedRoboDirective Robo 크롤링에 Robo 지시어가 사용되었습니다.
usedRoboIgnoreDirective Robo 크롤링에서 Robo 지시문을 사용하여 UI 요소를 무시했습니다.
insufficientCoverage Robo가 앱에서 중요할 수 있는 일부 부분을 크롤링하지 않았습니다.
inAppPurchases Robo 크롤링에 일부 인앱 구매가 포함되었습니다.
crashDialogError 테스트 실행 중에 비정상 종료 대화상자가 감지되었습니다.
uiElementsTooDeep UI 요소 깊이가 기준보다 큼
blankScreen Robo 크롤링에 빈 화면이 있습니다.
overlappingUiElements Robo 크롤링에서 겹치는 UI 요소가 발견됨
unityException 포착되지 않은 Unity 예외가 감지되었습니다 (앱을 비정상 종료하지 않음).
deviceOutOfMemory 기기 메모리 부족이 감지됨
logcatCollectionError Logcat을 수집하는 중에 문제가 감지되었습니다.
detectedAppSplashScreen Robo에서 Android OS 스플래시 화면이 아닌 앱에서 제공하는 스플래시 화면을 감지했습니다.
assetIssue 테스트의 애셋에 문제가 있습니다.

카테고리

문제 카테고리

열거형
unspecifiedCategory 기본 미지정 카테고리입니다. 사용하지 마세요. 버전 관리 전용입니다.
common 문제가 특정 테스트 종류에 국한되지 않습니다 (예: 네이티브 충돌).
robo Robo 실행과 관련된 문제입니다.

테스트 타이밍

테스트 타이밍을 세분화하여 단계를 파악합니다.

JSON 표현
{
  "testProcessDuration": {
    object (Duration)
  }
}
필드
testProcessDuration

object (Duration)

테스트 프로세스를 실행하는 데 걸린 시간입니다.

  • 응답: 이전에 설정된 경우 표시됩니다.
  • 생성/업데이트 요청: 선택사항

도구 실행 단계

Google에서 명시적으로 지원하지 않는 바이너리에 사용되는 일반적인 도구 단계입니다. 예: cp를 실행하여 한 위치에서 다른 위치로 아티팩트를 복사합니다.

JSON 표현
{
  "toolExecution": {
    object (ToolExecution)
  }
}
필드
toolExecution

object (ToolExecution)

도구 실행

  • 응답: 생성/업데이트 요청에 의해 설정된 경우 존재
  • 생성/업데이트 요청: 선택사항

멀티스텝

그룹과 동일한 구성으로 여러 단계를 실행하는 경우의 세부정보입니다.

JSON 표현
{
  "primaryStepId": string,
  "multistepNumber": integer,
  "primaryStep": {
    object (PrimaryStep)
  }
}
필드
primaryStepId

string

기본 (원본) 단계의 단계 ID로, 이 단계일 수 있습니다.

multistepNumber

integer

각 단계에 부여되는 고유한 int입니다. 범위는 0(포함)에서 총 단계 수(제외)입니다. 기본 단계는 0입니다.

primaryStep

object (PrimaryStep)

기본 (원래) 단계인 경우 표시합니다.

기본 단계

그룹으로 실행된 여러 단계의 롤업 테스트 상태와 각 개별 단계의 결과를 저장합니다.

JSON 표현
{
  "rollUp": enum (OutcomeSummary),
  "individualOutcome": [
    {
      object (IndividualOutcome)
    }
  ]
}
필드
rollUp

enum (OutcomeSummary)

그룹과 동일한 구성으로 실행된 여러 단계의 롤업 테스트 상태입니다.

individualOutcome[]

object (IndividualOutcome)

각 개별 단계의 단계 ID 및 결과입니다.

개별결과

동일한 구성의 다른 단계가 있는 그룹으로 실행된 각 개별 단계의 단계 ID 및 결과입니다.

JSON 표현
{
  "stepId": string,
  "outcomeSummary": enum (OutcomeSummary),
  "multistepNumber": integer,
  "runDuration": {
    object (Duration)
  }
}
필드
stepId

string

outcomeSummary

enum (OutcomeSummary)

multistepNumber

integer

각 단계에 부여되는 고유한 int입니다. 범위는 0(포함)에서 총 단계 수(제외)입니다. 기본 단계는 0입니다.

runDuration

object (Duration)

이 단계를 실행하는 데 걸린 시간입니다.

메소드

accessibilityClusters

지정된 단계의 접근성 클러스터를 나열합니다.

다음과 같은 표준 오류 코드를 반환할 수 있습니다.

  • PERMISSION_DENIED - 사용자에게 프로젝트를 읽을 권한이 없는 경우
  • INVALID_ARGUMENT - 요청이 잘못된 경우
  • FAILED_PRECONDITION - 요청의 인수가 잘못된 경우 예:

create

단계를 만듭니다.

get

Step을 가져옵니다.

getPerfMetricsSummary

PerfMetricsSummary를 검색합니다.

list

지정된 실행의 단계를 나열합니다.

patch

제공된 부분 항목으로 기존 단계를 업데이트합니다.

publishXunitXmlFiles

xml 파일을 기존 단계에 게시합니다.