REST Resource: projects.histories.executions

리소스: Execution

실행은 단계 모음을 나타냅니다. 예를 들면 다음과 같습니다. - 다양한 기기 설정에 걸쳐 실행된 모바일 테스트 - 빌드 단계 다음에 테스트 단계가 있는 jenkins 작업

실행 메시지의 최대 크기는 1MiB입니다.

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

JSON 표현
{
  "executionId": string,
  "state": enum (State),
  "creationTime": {
    object (Timestamp)
  },
  "completionTime": {
    object (Timestamp)
  },
  "outcome": {
    object (Outcome)
  },
  "dimensionDefinitions": [
    {
      object (MatrixDimensionDefinition)
    }
  ],
  "specification": {
    object (Specification)
  },
  "testExecutionMatrixId": string
}
필드
executionId

string

이 실행의 기록 내에 있는 고유 식별자입니다.

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

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

enum (State)

초기 상태는 IN_PROGRESS입니다.

정상적인 상태 전환은 IN_PROGRESS에서 COMPLETE로의 유일한 전환입니다.

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

상태는 한 번만 COMPLETE로 설정할 수 있습니다. 상태가 COMPLETE로 여러 번 설정되면 FAILED_PRECONDITION이 반환됩니다.

상태가 COMPLETE로 설정되면 실행 내의 모든 진행 중인 단계가 COMPLETE로 설정됩니다. 단계의 결과가 설정되지 않으면 결과가 확정되지 않음으로 설정됩니다.

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

object (Timestamp)

실행이 생성된 시간입니다.

이 값은 runs.create가 호출될 때 자동으로 설정됩니다.

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

object (Timestamp)

실행 상태가 완료로 전환된 시간입니다.

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

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

object (Outcome)

결과를 SUCCESS 또는 FAILURE 등으로 분류합니다.

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

object (MatrixDimensionDefinition)

이 실행에서 서로 다른 단계에 사용되는 측정기준은 다를 수 있습니다. 이는 실행 기간 동안 고정된 상태로 유지되어야 합니다.

이 필드가 업데이트 요청에 설정된 경우 INVALID_ARGUMENT를 반환합니다.

같은 이름이 두 개 이상의 dimension_definition에서 사용되는 경우 INVALID_ARGUMENT를 반환합니다.

목록의 크기가 100을 넘으면 INVALID_ARGUMENT를 반환합니다.

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

object (Specification)

실행 요청에 대한 간단한 정보입니다.

  • 응답: create로 설정된 경우 존재
  • 생성 시: 선택사항
  • 업데이트 중: 선택사항
testExecutionMatrixId

string

TestExecutionService가 사용하는 TestExecution 매트릭스 ID입니다.

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

매트릭스 차원 정의

이 유형에는 필드가 없습니다.

단계의 여러 실행에 대한 행렬의 한 차원입니다.

사양

실행 실행 방법에 대한 세부정보입니다.

JSON 표현
{

  // Union field specification can be only one of the following:
  "androidTest": {
    object (AndroidTest)
  },
  "iosTest": {
    object (IosTest)
  }
  // End of list of possible types for union field specification.
}
필드

통합 필드 specification.

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

androidTest

object (AndroidTest)

Android 모바일 테스트 실행 사양입니다.

iosTest

object (IosTest)

iOS 모바일 테스트 실행 사양입니다.

Android 테스트

Android 모바일 테스트 사양입니다.

JSON 표현
{
  "androidAppInfo": {
    object (AndroidAppInfo)
  },
  "testTimeout": {
    object (Duration)
  },

  // Union field test can be only one of the following:
  "androidInstrumentationTest": {
    object (AndroidInstrumentationTest)
  },
  "androidRoboTest": {
    object (AndroidRoboTest)
  },
  "androidTestLoop": {
    object (AndroidTestLoop)
  }
  // End of list of possible types for union field test.
}
필드
androidAppInfo

object (AndroidAppInfo)

테스트 중인 애플리케이션에 대한 정보입니다.

testTimeout

object (Duration)

테스트가 자동으로 취소되기 전에 실행할 수 있는 최대 시간입니다.

통합 필드 test.

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

androidInstrumentationTest

object (AndroidInstrumentationTest)

Android 도구 작동 테스트입니다.

androidRoboTest

object (AndroidRoboTest)

Android robo 테스트입니다.

androidTestLoop

object (AndroidTestLoop)

Android 테스트 루프

Android 앱 정보

Android 앱 정보입니다.

JSON 표현
{
  "name": string,
  "packageName": string,
  "versionName": string,
  "versionCode": string
}
필드
name

string

앱의 이름입니다. 선택 사항

packageName

string

앱의 패키지 이름입니다. 필수 항목입니다.

versionName

string

앱의 버전 이름입니다. 선택사항입니다.

versionCode

string

앱의 내부 버전 코드입니다. 선택사항입니다.

AndroidInstrumentationTest

정상 수명 주기에 관계없이 Android 구성요소를 제어할 수 있는 Android 애플리케이션 테스트입니다.

Android 테스트 유형에 관한 자세한 내용은 https://developer.android.com/training/testing/fundamentals을 참고하세요.

JSON 표현
{
  "testPackageId": string,
  "testRunnerClass": string,
  "testTargets": [
    string
  ],
  "useOrchestrator": boolean
}
필드
testPackageId

string

테스트를 실행할 자바 패키지입니다. 필수

testRunnerClass

string

InstrumentationTestRunner 클래스입니다. 필수

testTargets[]

string

각 타겟은 패키지 이름 또는 클래스 이름으로 정규화되어야 하며, 형식은 'package packageName' 중 하나입니다. - 'class packageName.class_name' - "class packageName.class_name#methodName"

비어 있으면 모듈의 모든 대상이 실행됩니다.

useOrchestrator

boolean

플래그는 Android Test Orchestrator를 사용하여 테스트를 실행할지 여부를 나타냅니다.

AndroidRoboTest

가상 또는 실제 Android 기기에서 애플리케이션을 탐색하여 원인과 비정상 종료를 찾는 Android 애플리케이션 테스트입니다.

JSON 표현
{
  "appInitialActivity": string,
  "bootstrapPackageId": string,
  "bootstrapRunnerClass": string,
  "maxDepth": integer,
  "maxSteps": integer
}
필드
appInitialActivity

string

앱을 시작하는 데 사용해야 하는 초기 활동입니다. 선택 사항

bootstrapPackageId

string

부트스트랩의 자바 패키지입니다. 선택사항

bootstrapRunnerClass

string

부트스트랩의 실행기 클래스입니다. 선택사항

maxDepth

integer

Robo가 탐색할 수 있는 순회 스택의 최대 깊이입니다. 선택사항

maxSteps

integer

Robo에서 실행할 수 있는 최대 단계/작업 수입니다. 기본값은 제한 없음 (0)입니다. 선택사항

AndroidTestLoop

이 유형에는 필드가 없습니다.

테스트 루프는 앱 자체에서 실행할 수 있는 테스트로, 인텐트를 수신 대기하여 실행할 시기를 결정합니다.

IOS 테스트

iOS 모바일 테스트 사양

JSON 표현
{
  "iosAppInfo": {
    object (IosAppInfo)
  },
  "testTimeout": {
    object (Duration)
  },

  // Union field test can be only one of the following:
  "iosXcTest": {
    object (IosXcTest)
  },
  "iosTestLoop": {
    object (IosTestLoop)
  },
  "iosRoboTest": {
    object (IosRoboTest)
  }
  // End of list of possible types for union field test.
}
필드
iosAppInfo

object (IosAppInfo)

테스트 중인 애플리케이션에 대한 정보입니다.

testTimeout

object (Duration)

테스트가 자동으로 취소되기 전에 실행할 수 있는 최대 시간입니다.

통합 필드 test.

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

iosXcTest

object (IosXcTest)

iOS XCTest입니다.

iosTestLoop

object (IosTestLoop)

iOS 테스트 루프

iosRoboTest

object (IosRoboTest)

iOS Robo 테스트입니다.

iOS 앱 정보

iOS 앱 정보

JSON 표현
{
  "name": string
}
필드
name

string

앱의 이름입니다. 필수 입력란입니다.

IosXcTest

XCTest 프레임워크를 사용하는 iOS 애플리케이션 테스트입니다.

JSON 표현
{
  "bundleId": string,
  "xcodeVersion": string
}
필드
bundleId

string

앱의 번들 ID입니다.

xcodeVersion

string

테스트를 실행한 Xcode 버전입니다.

IosTestLoop

iOS 애플리케이션의 게임 루프 테스트입니다.

JSON 표현
{
  "bundleId": string
}
필드
bundleId

string

앱의 번들 ID입니다.

IosRoboTest

이 유형에는 필드가 없습니다.

iOS 애플리케이션의 Robo 테스트입니다.

메소드

create

실행을 만듭니다.

get

실행을 가져옵니다.

list

지정된 기록의 실행을 나열합니다.

patch

제공된 부분 개체로 기존 실행을 업데이트합니다.