REST Resource: projects.histories.executions.steps

자원: 단계

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

단계는 겹칠 수 있습니다(예를 들어 일부 작업이 병렬로 수행되는 경우 두 단계의 시작 시간이 동일할 수 있음).

다음은 예입니다. 각 반복마다 테스트 실행기를 실행하는 연속 빌드가 있다고 가정해 보겠습니다. 워크플로우는 다음과 같습니다. - 사용자는 ID 1로 실행을 생성합니다. - 사용자는 실행 1에 대해 ID 100으로 TestExecutionStep을 생성합니다. - 사용자는 ID 100으로 TestExecutionStep을 업데이트하여 원시 xml 로그를 추가합니다. + 서비스는 xml 로그를 구문 분석하고 다음을 사용하여 TestExecutionStep을 반환합니다. TestResult가 업데이트되었습니다. - 사용자는 ID가 100인 TestExecutionStep의 상태를 COMPLETE로 업데이트합니다.

단계는 상태가 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자입니다. 예: 클린 빌드

기존 단계와 이름 및 차원 값을 공유하는 경우 새 단계를 생성할 때 PRECONDITION_FAILED가 반환됩니다. 두 단계가 유사한 작업을 나타내지만 차원 값이 다른 경우 동일한 이름을 공유해야 합니다. 예를 들어 동일한 테스트 세트가 서로 다른 두 플랫폼에서 실행되는 경우 두 단계의 이름은 동일해야 합니다.

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

string

이 도구에 대한 설명 예: mvn clean package -D SkipTests=true

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

enum ( State )

초기 상태는 IN_PROGRESS입니다. 유일한 합법적인 상태 전환은 * IN_PROGRESS -> COMPLETE입니다.

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

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

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

object ( Outcome )

결과 분류(예: SUCCESS 또는 FAILURE)

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

boolean

이 단계의 출력이 Thumbnails.list를 사용하여 썸네일을 가져올 수 있는 이미지인지 여부입니다.

  • 응답: 항상 설정됨
  • 생성/업데이트 요청 시: 설정하지 않음
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 = ['attempt', 'device'] 있는 경우 단계에서는 해당 차원에 대한 값을 정의해야 합니다. dimensionValue = ['attempt': '1', 'device': 'Nexus 6']

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

단계가 행렬의 차원에 참여하지 않는 경우 차원 값이 설정되지 않은 상태로 남아 있을 수 있습니다.

실행의 차원 정의에 키가 없으면 PRECONDITION_FAILED가 반환됩니다.

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

차원 값이 설정되어 있고 실행 시 키 중 하나로 지정되지 않은 차원 정의가 있는 경우 PRECONDITION_FAILED가 반환됩니다.

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

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

runDuration

object ( Duration )

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

설정되지 않은 경우 단계가 COMPLETE 상태로 설정될 때 CreationTime과 CompletionTime의 차이로 설정됩니다. 어떤 경우에는 이 값을 별도로 설정하는 것이 적절합니다. 예를 들어 단계가 생성되었지만 해당 작업이 실행되기 전에 몇 분 동안 대기열에 있는 경우 해당 단계에 대기열에 있는 데 소요된 시간을 포함하지 않는 것이 적절할 것입니다. runDuration.

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

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

object ( Duration )

테스트를 수행하는 데 사용되는 장치 리소스의 양입니다.

이는 청구 목적으로 사용되는 장치 사용량으로, runDuration과 다릅니다. 예를 들어 인프라 오류에는 장치 사용량에 대한 비용이 청구되지 않습니다.

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

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

object ( MultiStep )

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

  • 응답: 이전에 설정된 경우 존재합니다.
  • 생성 요청: 선택 사항에서 이 단계가 두 번 이상 수행된 경우 설정합니다.
  • 업데이트 요청 시: 선택 사항

유니온 필드 step .

step 다음 중 하나일 수 있습니다.

testExecutionStep

object ( TestExecutionStep )

테스트 실행기 실행

toolExecutionStep

object ( ToolExecutionStep )

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

테스트실행단계

실행 중인 테스트를 나타내는 단계입니다.

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

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

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

object ( TestSuiteOverview )

테스트 스위트 개요 내용 목록입니다. 이는 서버별로 xUnit XML 로그에서 구문 분석하거나 사용자가 직접 업로드할 수 있습니다. 이 참조는 테스트 도구 모음이 완전히 구문 분석되거나 업로드된 경우에만 호출되어야 합니다.

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

  • 응답: 항상 설정됨
  • 생성 요청 시: 선택 사항
  • 업데이트 요청 시: 절대 사용하지 않음(대신 게시XunitXmlFiles 사용자 정의 메소드 사용)
toolExecution

object ( ToolExecution )

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

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

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

object ( TestIssue )

테스트 실행 중에 관찰된 문제입니다.

예를 들어, 테스트 중에 테스트 중인 모바일 앱이 충돌한 경우 오류 메시지와 스택 추적 내용을 여기에 기록하여 디버깅을 지원할 수 있습니다.

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

object ( TestTiming )

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

  • 응답: 생성 또는 업데이트로 설정된 경우 존재합니다.
  • 생성/업데이트 요청 시: 선택 사항

도구실행

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

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

string

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

  • 응답: 생성 요청에 의해 설정된 경우 존재합니다.
  • 생성 요청 시: 선택 사항
  • 업데이트 요청 시: 설정되지 않음
toolLogs[]

object ( FileReference )

일반 텍스트 로그에 대한 참조는 도구 실행을 출력합니다.

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

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

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

object ( ToolExitCode )

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

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

object ( ToolOutputReference )

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

단계당 허용되는 최대 도구 출력 수는 1000입니다.

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

도구종료 코드

도구 실행에서 코드를 종료합니다.

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

integer

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

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

테스트 문제

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

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 라이브러리에서 제공하는 pack 메소드는 기본적으로 'type.googleapis.com/full.type.name'을 유형 URL로 사용하고 unpack 메소드는 유형 URL의 마지막 '/' 다음에 정규화된 유형 이름만 사용합니다. 예를 들어 "foo.bar.com/x/yz"는 유형 이름 "yz"를 생성합니다.

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 크롤링에 가능한 로그인 화면이 하나 이상 발생했습니다.
performedGoogleLogin Robo는 Google로 로그인했습니다.
iosException iOS 앱이 예외로 인해 충돌했습니다.
iosCrash iOS 앱이 예외 없이 충돌했습니다(예: 종료됨).
performedMonkeyActions Robo 크롤링에는 일부 원숭이 작업이 포함되었습니다.
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 스플래시 화면과 비교)을 감지했습니다.

범주

문제 카테고리.

열거형
unspecifiedCategory 기본 미지정 카테고리입니다. 사용하지 마세요. 버전 관리 전용입니다.
common 문제는 특정 테스트 종류(예: 기본 충돌)에만 국한되지 않습니다.
robo 문제는 Robo 실행에만 해당됩니다.

테스트타이밍

단계를 알기 위해 테스트 타이밍을 세분화합니다.

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

object ( Duration )

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

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

도구실행단계

명시적으로 지원하지 않는 바이너리에 사용되는 일반 도구 단계입니다. 예를 들어 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

단계를 가져옵니다.

getPerfMetricsSummary

PerfMetricsSummary를 검색합니다.

list

특정 실행에 대한 단계를 나열합니다.

patch

제공된 부분 엔터티로 기존 단계를 업데이트합니다.

publishXunitXmlFiles

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