- 리소스: TestMatrix
- 클라이언트 정보
- 클라이언트 정보 세부정보
- TestSpecification
- 테스트 설정
- 기기 파일
- ObbFile
- FileReference
- 일반 파일
- APK
- 계정
- Google 오토
- 환경 변수
- Systrace 설정
- IosTestSetup
- IosDeviceFile
- AndroidInstrumentationTest
- AppBundle
- OrchestratorOption
- 샤딩 옵션
- UniformSharding
- 수동 샤딩
- TestTargetsForShard
- SmartSharding
- AndroidRoboTest
- RoboDirective
- RoboActionType
- RoboMode
- RoboStartingIntent
- LauncherActivityIntent
- StartActivityIntent를
- NoActivityIntent
- AndroidTestLoop
- IosXcTest
- IosTestLoop
- IosRoboTest는
- 환경 매트릭스
- Android 매트릭스
- Android 기기 목록
- IosDeviceList
- iOS 기기
- 테스트 실행
- 샤드
- 환경
- 테스트 상태
- 도구 결과 단계
- 테스트 세부정보
- 결과 저장소
- Google 클라우드 스토리지
- 도구 결과 기록
- ToolResultsExecution
- InvalidMatrixDetails
- MatrixErrorDetail
- 결과 요약
- 메서드
리소스: TestMatrix
TestMatrix는 테스트에 관한 모든 세부정보를 캡처합니다. 여기에는 환경 구성, 테스트 사양, 테스트 실행, 전반적인 상태 및 결과가 포함됩니다.
JSON 표현 |
---|
{ "testMatrixId": string, "projectId": string, "clientInfo": { object ( |
필드 | |
---|---|
testMatrixId |
출력 전용. 서비스에서 설정된 고유 ID입니다. |
projectId |
테스트 매트릭스를 소유한 Cloud 프로젝트입니다. |
clientInfo |
테스트를 호출한 클라이언트에 대한 정보입니다. |
testSpecification |
필수 항목입니다. 테스트를 실행하는 방법입니다. |
environmentMatrix |
필수 항목입니다. 테스트가 실행되는 기기 |
testExecutions[] |
출력 전용입니다. 서비스가 이 매트릭스에 대해 작성하는 테스트 실행 목록입니다. |
resultStorage |
필수 항목입니다. 매트릭스의 결과가 기록되는 위치입니다. |
state |
출력 전용입니다. 테스트 매트릭스의 현재 진행 상황을 나타냅니다. |
timestamp |
출력 전용입니다. 이 테스트 매트릭스가 처음 만들어진 시간입니다. RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 |
invalidMatrixDetails |
출력 전용입니다. 매트릭스가 잘못된 것으로 간주된 이유를 설명합니다. INVALID 상태의 매트릭스에서만 유용합니다. |
extendedInvalidMatrixDetails[] |
출력 전용입니다. 행렬이 잘못된 것으로 간주된 이유에 대한 세부정보입니다. 여러 검사를 안전하게 수행할 수 있는 경우 검사가 보고되지만 이 목록의 길이에 대해 어떤 가정도 하지 않아야 합니다. |
flakyTestAttempts |
어떤 이유로든 테스트 사례가 하나 이상 실패할 경우 TestExecution을 다시 시도해야 하는 횟수입니다. 허용되는 최대 재실행 횟수는 10회입니다. 기본값은 0이며, 이는 재실행이 없음을 의미합니다. |
outcomeSummary |
출력 전용. 테스트의 전체 결과입니다. 테스트 매트릭스 상태가 FINISHED인 경우에만 설정됩니다. |
failFast |
true인 경우 매트릭스의 각 실행/샤드를 실행하기 위해 최대 한 번만 시도됩니다. 불안정한 테스트 시도는 영향을 받지 않습니다. 일반적으로 잠재적인 인프라 문제가 감지되면 2회 이상 시도합니다. 이 기능은 지연 시간에 민감한 워크로드에 사용됩니다. 빠른 장애 행렬의 경우 실행 실패 발생률이 크게 증가할 수 있으며 이러한 기대로 인해 지원이 더 제한됩니다. |
ClientInfo
테스트를 호출한 클라이언트에 대한 정보입니다.
JSON 표현 |
---|
{
"name": string,
"clientInfoDetails": [
{
object ( |
필드 | |
---|---|
name |
필수. 클라이언트 이름입니다(예: gcloud). |
clientInfoDetails[] |
클라이언트에 대한 자세한 정보 목록입니다. |
ClientInfoDetail
테스트를 호출한 클라이언트에 대한 자세한 키-값 쌍 정보입니다(예: {'Version', '1.0'}, {'Release Track', 'BETA'}).
JSON 표현 |
---|
{ "key": string, "value": string } |
필드 | |
---|---|
key |
필수. 자세한 클라이언트 정보의 키입니다. |
value |
필수. 자세한 클라이언트 정보의 값입니다. |
TestSpecification
테스트를 실행하는 방법의 설명입니다.
JSON 표현 |
---|
{ "testTimeout": string, "disableVideoRecording": boolean, "disablePerformanceMetrics": boolean, // Union field |
필드 | |
---|---|
testTimeout |
테스트 실행이 자동으로 취소되기 전에 실행되도록 허용된 최대 시간입니다. 기본값은 5분입니다. 소수점 아래가 최대 9자리까지이고 ' |
disableVideoRecording |
동영상 녹화를 사용 중지합니다. 테스트 지연 시간을 줄일 수 있습니다. |
disablePerformanceMetrics |
성능 측정항목 기록을 사용 중지합니다. 테스트 지연 시간을 줄일 수 있습니다. |
통합 필드 setup . 테스트 설정 요구사항 setup 은 다음 중 하나여야 합니다. |
|
testSetup |
Android용 테스트 설정 요구사항입니다(예: 설치할 파일, 부트스트랩 스크립트). |
iosTestSetup |
iOS용 테스트 설정 요구사항입니다. |
통합 필드 test . 필수 항목입니다. 실행할 테스트 유형입니다. test 은 다음 중 하나여야 합니다. |
|
androidInstrumentationTest |
Android 도구 작동 테스트입니다. |
androidRoboTest |
Android robo 테스트입니다. |
androidTestLoop |
테스트 루프가 포함된 Android 애플리케이션입니다. |
iosXcTest |
.xctestrun 파일을 통한 iOS XCTest입니다. |
iosTestLoop |
테스트 루프가 있는 iOS 애플리케이션 |
iosRoboTest |
iOS Robo 테스트입니다. |
TestSetup
테스트를 실행하기 전에 Android 기기를 설정하는 방법에 대한 설명입니다.
JSON 표현 |
---|
{ "filesToPush": [ { object ( |
필드 | |
---|---|
filesToPush[] |
테스트를 시작하기 전에 기기에 푸시할 파일 목록입니다. |
directoriesToPull[] |
테스트 종료 시 GCS에 업로드할 기기의 디렉터리 목록입니다. /sdcard, /storage 또는 /data/local/tmp 아래의 절대 경로여야 합니다. 경로 이름은 a~z, A~Z, 0~9, _, -, 문자로 제한됩니다. + 및 / 참고: /sdcard 및 /data 경로를 사용할 수 있으며 암시적 경로 대체로 처리됩니다. 예를 들어 특정 기기에서 /sdcard가 외부 저장소에 매핑되지 않는 경우 시스템은 해당 기기의 외부 저장소 경로 프리픽스로 경로를 바꿉니다. |
initialSetupApks[] |
선택사항. 테스트 중인 앱을 설치하기 전에 설치할 초기 설정 APK입니다. 현재 100개로 제한됩니다. |
additionalApks[] |
직접 테스트한 항목과 더불어 설치할 APK입니다. 이러한 앱은 테스트 중인 앱 이후에 설치됩니다. 현재 100개로 제한됩니다. |
account |
기기에서 테스트 기간 동안 이 계정으로 로그인됩니다. |
networkProfile |
테스트를 실행하는 데 사용되는 네트워크 트래픽 프로필입니다. 사용 가능한 네트워크 프로필은 TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog를 호출할 때 NETWORK_CONFIGURATION 환경 유형을 사용하여 쿼리할 수 있습니다. |
environmentVariables[] |
테스트에 설정할 환경 변수입니다(도구 작동 테스트에만 적용됨). |
systrace |
Systrace 구성입니다. 지원 중단됨: Systrace는 2020년 1월 1일에 지원 중단된 Python 2를 사용했습니다. Systrace는 Cloud Testing API에서 더 이상 지원되지 않으며 결과에 Systrace 파일이 제공되지 않습니다. |
dontAutograntPermissions |
앱 설치 시 모든 런타임 권한이 부여되는 것을 방지할지 여부입니다. |
DeviceFile
단일 기기 파일 설명입니다.
JSON 표현 |
---|
{ // Union field |
필드 | |
---|---|
통합 필드 device_file . 필수 항목입니다. device_file 은 다음 중 하나여야 합니다. |
|
obbFile |
불투명한 바이너리 blob 파일에 대한 참조입니다. |
regularFile |
정규 파일에 대한 참조입니다. |
ObbFile
테스트를 시작하기 전에 기기에 설치할 불투명한 바이너리 BLOB 파일입니다.
JSON 표현 |
---|
{
"obbFileName": string,
"obb": {
object ( |
필드 | |
---|---|
obbFileName |
필수. Android에서 지정한 형식을 준수해야 하는 OBB 파일 이름입니다. 예를 들어[main|patch].0300110.com.example.android.obb는 기기의 <shared-storage>/Android/obb/<package-name>/에 설치됩니다. |
obb |
필수 항목입니다. 기기에 설치할 불투명한 바이너리 BLOB(OBB) 파일입니다. |
FileReference
사용자 입력에 사용되는 파일을 가리키는 참조입니다.
JSON 표현 |
---|
{ // Union field |
필드 | |
---|---|
통합 필드 file . 필수 항목입니다. 파일 참조입니다. file 은 다음 중 하나여야 합니다. |
|
gcsPath |
Google Cloud Storage에 있는 파일의 경로입니다. 예: gs://build-app-1414623860166/app%40debug-unaligned.apk 이러한 경로는 URL로 인코딩되어야 합니다 (퍼센트 인코딩). |
RegularFile
테스트를 시작하기 전에 기기에 설치할 파일 또는 디렉토리입니다.
JSON 표현 |
---|
{
"content": {
object ( |
필드 | |
---|---|
content |
필수 항목입니다. 소스 파일입니다. |
devicePath |
필수. 기기에서 콘텐츠를 넣을 위치입니다. 허용된 절대 경로여야 합니다. 파일이 존재하는 경우 대체됩니다. 다음과 같은 기기 측 디렉터리 및 하위 디렉터리가 허용 목록에 포함됩니다. ${EXTERNAL_STORAGE}, /sdcard 또는 /storage ${ANDROID_DATA}/local/tmp 또는 /data/local/tmp 이러한 디렉토리 트리 바깥에 경로를 지정하는 것은 유효하지 않습니다. /sdcard 및 /data 경로를 사용할 수 있으며 암시적 경로 대체로 처리됩니다. 예를 들어 특정 기기에서 /sdcard가 외부 저장소에 매핑되지 않는 경우 시스템은 해당 기기의 외부 저장소 경로 프리픽스로 경로를 바꾸고 파일을 복사합니다. 포팅 가능한 방식으로 기기의 파일에 액세스하려면 앱에서 Environment API를 사용하여 코드를 테스트하는 것이 좋습니다. |
Apk
설치할 Android 패키지 파일입니다.
JSON 표현 |
---|
{
"location": {
object ( |
필드 | |
---|---|
location |
테스트를 시작하기 전에 기기에 설치할 APK 경로입니다. |
packageName |
설치할 APK의 자바 패키지입니다. 값은 애플리케이션의 매니페스트를 검사하여 결정됩니다. |
Account
계정 및 로그인 방법을 식별합니다.
JSON 표현 |
---|
{ // Union field |
필드 | |
---|---|
통합 필드 account_type . 필수 항목입니다. 계정 유형 (예: Google) 및 로그인 메커니즘 (예: 사용자 이름, 비밀번호)에 따른 계정 유형 account_type 은 다음 중 하나여야 합니다. |
|
googleAuto |
자동 Google 로그인 계정입니다. |
GoogleAuto
이 유형에는 필드가 없습니다.
자동 Google 계정 로그인을 사용 설정합니다. 이 옵션을 설정하면 테스트를 실행하기 전에 서비스에서 자동으로 Google 테스트 계정을 생성하고 기기에 추가합니다. 테스트 계정을 다시 사용할 수도 있습니다. 기기에 계정이 있어야 많은 애플리케이션에서 전체 기능 집합이 표시됩니다. 이렇게 생성된 계정으로 기기에 로그인하면 더 많은 기능을 테스트할 수 있습니다.
EnvironmentVariable
테스트에 환경 변수로 전달된 키-값 쌍입니다.
JSON 표현 |
---|
{ "key": string, "value": string } |
필드 | |
---|---|
key |
환경 변수 키입니다. |
value |
환경 변수 값입니다. |
Systrace 설정
JSON 표현 |
---|
{ "durationSeconds": integer } |
필드 | |
---|---|
durationSeconds |
Systrace 기간(초) 1초에서 30초 사이여야 합니다. 0은 systrace를 사용 중지합니다. |
IosTestSetup
테스트를 실행하기 전에 iOS 기기를 설정하는 방법에 관한 설명입니다.
JSON 표현 |
---|
{ "networkProfile": string, "additionalIpas": [ { object ( |
필드 | |
---|---|
networkProfile |
테스트를 실행하는 데 사용되는 네트워크 트래픽 프로필입니다. 사용 가능한 네트워크 프로필은 TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog를 호출할 때 NETWORK_CONFIGURATION 환경 유형을 사용하여 쿼리할 수 있습니다. |
additionalIpas[] |
직접 테스트 중인 앱 외에 추가로 설치할 수 있는 iOS 앱 수 |
pushFiles[] |
테스트를 시작하기 전에 기기에 푸시할 파일 목록입니다. |
pullDirectories[] |
테스트 종료 시 Cloud Storage에 업로드할 기기의 디렉터리 목록입니다. 디렉터리는 공유 디렉터리 (예: /private/var/mobile/Media)에 있거나 번들 ID를 지정하여 앱의 파일 시스템 내 액세스 가능한 디렉터리 (예: /Documents) 내에 있어야 합니다. |
iOS 기기 파일
테스트를 시작하기 전에 기기에 설치할 파일 또는 디렉토리입니다.
JSON 표현 |
---|
{
"content": {
object ( |
필드 | |
---|---|
content |
소스 파일 |
bundleId |
이 파일이 위치한 앱의 번들 ID입니다. iOS 앱은 자체 파일 시스템을 샌드박스에 저장하므로 앱 파일은 기기에 설치된 앱을 지정해야 합니다. |
devicePath |
앱의 샌드박스 파일 시스템 내의 기기 파일 위치입니다. |
AndroidInstrumentationTest
정상 수명 주기에 관계없이 Android 구성요소를 제어할 수 있는 Android 애플리케이션 테스트입니다. Android 도구 작동 테스트는 가상 또는 실제 AndroidDevice를 사용해 동일한 프로세스 내에서 애플리케이션 APK와 테스트 APK를 실행합니다. 또한 com.google.GoogleTestRunner와 같은 테스트 실행기 클래스를 지정합니다. 이 클래스는 선택한 특정 계측 프레임워크에 따라 다를 수 있습니다.
Android 테스트 유형에 관한 자세한 내용은 https://developer.android.com/training/testing/fundamentals을 참고하세요.
JSON 표현 |
---|
{ "testApk": { object ( |
필드 | |
---|---|
testApk |
필수 항목입니다. 실행될 테스트 코드가 포함된 APK입니다. |
appPackageId |
테스트 중인 애플리케이션의 자바 패키지입니다. 기본값은 애플리케이션의 매니페스트를 검사하여 결정됩니다. |
testPackageId |
테스트를 실행할 자바 패키지입니다. 기본값은 애플리케이션의 매니페스트를 검사하여 결정됩니다. |
testRunnerClass |
InstrumentationTestRunner 클래스입니다. 기본값은 애플리케이션의 매니페스트를 검사하여 결정됩니다. |
testTargets[] |
각 타겟은 패키지 이름이나 클래스 이름으로 다음 형식 중 하나로 정규화되어야 합니다.
비어 있으면 모듈의 모든 대상이 실행됩니다. |
orchestratorOption |
Android 테스트 조정자에서 도구 작동을 자체 호출하여 각 테스트를 실행할지를 선택하는 옵션입니다. ** 조정자는 AndroidJUnitRunner 버전 1.1 이상과만 호환됩니다. ** Orchestrator는 다음과 같은 이점을 제공합니다.
Android 테스트 조정자에 대한 자세한 내용은 https://developer.android.com/training/testing/junit-runner.html#using-android-test-orchestrator를 참조하세요. 설정하지 않으면 테스트는 조정자 없이 실행됩니다. |
shardingOption |
여러 샤드에서 동시에 테스트를 실행하는 옵션입니다. |
통합 필드 app_under_test . 필수 항목입니다. app_under_test 은 다음 중 하나여야 합니다. |
|
appApk |
테스트 중인 애플리케이션의 APK입니다. |
appBundle |
테스트 중인 애플리케이션의 다중 APK App Bundle입니다. |
AppBundle
BundleConfig.pb 파일, 기본 모듈 디렉토리, 0개 이상의 동적 기능 모듈 디렉토리가 포함된 Android App Bundle 파일 형식입니다.
App Bundle 빌드에 대한 안내는 https://developer.android.com/guide/app-bundle/build를 참조하세요.
JSON 표현 |
---|
{ // Union field |
필드 | |
---|---|
통합 필드 bundle . 필수 항목입니다. 번들 위치 정보 bundle 은 다음 중 하나여야 합니다. |
|
bundleLocation |
테스트 중인 App Bundle을 나타내는 .aab 파일입니다. |
OrchestratorOption
테스트를 실행하는 방법을 지정합니다.
열거형 | |
---|---|
ORCHESTRATOR_OPTION_UNSPECIFIED |
기본값: 서버가 모드를 선택합니다. 테스트가 조정자 없이 실행된다는 의미입니다. 향후 모든 도구 작동 테스트는 조정자를 사용하여 실행됩니다. 조정자가 제공하는 이점이 많으므로 조정자를 사용하는 것이 좋습니다. |
USE_ORCHESTRATOR |
조정자를 사용하여 테스트를 실행합니다. ** AndroidJUnitRunner 버전 1.1 이상과만 호환됩니다. ** 권장사항입니다. |
DO_NOT_USE_ORCHESTRATOR |
조정자를 사용하지 않고 테스트를 실행합니다. |
샤딩 옵션
샤딩을 사용 설정하는 옵션입니다.
JSON 표현 |
---|
{ // Union field |
필드 | |
---|---|
통합 필드
|
|
uniformSharding |
총 샤드 수를 고려하여 테스트 사례를 균일하게 샤딩합니다. |
manualSharding |
테스트 사례를 지정된 패키지, 클래스 또는 메서드 그룹으로 샤딩합니다. |
smartSharding |
샤드 테스트는 이전 테스트 사례 타이밍 기록을 기반으로 합니다. |
유니폼샤딩
총 샤드 수를 고려하여 테스트 사례를 균일하게 샤딩합니다.
계측 테스트에서는 '-e numShard'로 변환됩니다. 및 '-e ShIndexIndex'를 포함합니다. AndroidJUnitRunner 인수입니다. 균일 샤딩이 사용 설정된 경우 environmentVariables
를 통해 이러한 샤딩 인수 중 하나를 지정하는 것은 유효하지 않습니다.
AndroidJUnitRunner가 사용하는 샤딩 메커니즘에 따라 테스트 사례가 모든 샤드에 균일하게 배포된다는 보장이 없습니다.
JSON 표현 |
---|
{ "numShards": integer } |
필드 | |
---|---|
numShards |
필수 항목입니다. 생성할 총 샤드 수입니다. 항상 총 테스트 사례 수 이하의 양수여야 합니다. 하나 이상의 실제 기기를 선택할 때 샤드 수는 50개 이하여야 합니다. 하나 이상의 ARM 가상 기기를 선택하는 경우 200 이하여야 합니다. x86 가상 기기만 선택하는 경우 500 이하여야 합니다. |
수동 샤딩
테스트 사례를 지정된 패키지, 클래스 또는 메서드 그룹으로 샤딩합니다.
수동 샤딩을 사용 설정한 상태에서 환경 변수 또는 InstrumentationTest를 통해 테스트 대상을 지정하는 것은 유효하지 않습니다.
JSON 표현 |
---|
{
"testTargetsForShard": [
{
object ( |
필드 | |
---|---|
testTargetsForShard[] |
필수 항목입니다. 수동으로 생성된 각 샤드에 실행할 패키지, 클래스 또는 테스트 메서드 그룹입니다. 이 필드가 있으면 샤드를 1개 이상 지정해야 합니다. 하나 이상의 실제 기기를 선택할 때 반복되는 testTargetsForShard의 수는 50개 이하여야 합니다. 하나 이상의 ARM 가상 기기를 선택하는 경우 200 이하여야 합니다. x86 가상 기기만 선택하는 경우 500 이하여야 합니다. |
TestTargetsForShard 대상
샤드의 테스트 대상.
JSON 표현 |
---|
{ "testTargets": [ string ] } |
필드 | |
---|---|
testTargets[] |
각 샤드에 실행할 패키지, 클래스 또는 테스트 메서드 그룹입니다. 대상은 AndroidJUnitRunner 인수 형식으로 지정해야 합니다. 예: 'package com.my.packages' 'class com.my.package.MyClass' testTargets 수는 0보다 커야 합니다. |
스마트샤딩
샤드 테스트는 이전 테스트 사례 타이밍 기록을 기반으로 합니다.
JSON 표현 |
---|
{ "targetedShardDuration": string } |
필드 | |
---|---|
targetedShardDuration |
샤드 내에서 테스트에 걸리는 시간입니다. 기본값은 300초 (5분)입니다. 허용되는 최솟값: 120초 (2분) 샤드 수는 최대 샤드 한도까지 시간에 따라 동적으로 설정됩니다 (아래 설명 참고). 각 샤드에 대해 하나 이상의 테스트 사례를 보장하기 위해 샤드 수가 테스트 사례 수를 초과하지 않아야 합니다. 다음과 같은 경우 샤드 기간이 초과됩니다.
스마트 샤딩은 정확하지 않을 수 있는 테스트 사례 기록과 기본 기간을 사용하므로 샤딩 기간이 보장되지 않습니다. 테스트 사례 타이밍 레코드를 찾는 규칙은 다음과 같습니다.
실제 샤드 기간은 타겟팅된 샤드 기간을 초과할 수 있으므로 타겟팅된 값을 허용되는 최대 테스트 제한 시간 (실제 기기의 경우 45분, 가상 기기의 경우 60분)보다 최소 5분 미만으로 설정하거나 직접 설정한 맞춤 테스트 제한 시간 값을 사용하는 것이 좋습니다. 이 접근 방식을 사용하면 모든 테스트가 완료되기 전에 샤드가 취소되지 않습니다. 최대 샤드 수에는 제한이 있습니다. 하나 이상의 실제 기기를 선택할 때 샤드 수는 50개 이하여야 합니다. 하나 이상의 ARM 가상 기기를 선택하는 경우 200 이하여야 합니다. x86 가상 기기만 선택하는 경우 500 이하여야 합니다. 샤드당 테스트 사례가 하나 이상 보장되도록 샤드 수는 테스트 사례 수를 초과하지 않아야 합니다. 생성된 각 샤드는 일일 테스트 할당량에 포함됩니다. 소수점 아래가 최대 9자리까지이고 ' |
AndroidRoboTest
가상 또는 실제 Android 기기에서 애플리케이션을 탐색하는 Android 애플리케이션의 테스트로, 테스트가 진행되는 동안 원인과 장애를 찾습니다.
JSON 표현 |
---|
{ "appPackageId": string, "appInitialActivity": string, "maxDepth": integer, "maxSteps": integer, "roboDirectives": [ { object ( |
필드 | |
---|---|
appPackageId |
테스트 중인 애플리케이션의 자바 패키지입니다. 기본값은 애플리케이션의 매니페스트를 검사하여 결정됩니다. |
appInitialActivity |
앱을 시작하는 데 사용해야 하는 초기 활동입니다. |
maxDepth |
Robo가 탐색할 수 있는 순회 스택의 최대 깊이입니다. Robo가 최초 활동 이후 앱을 탐색하게 하려면 2 이상이어야 합니다. 기본값은 50입니다. |
maxSteps |
Robo가 탐색할 수 있는 최대 단계입니다. 기본값은 제한이 없습니다. |
roboDirectives[] |
Robo가 크롤링을 진행하는 동안 적용해야 하는 지시문 집합입니다. 이를 통해 사용자는 크롤링을 맞춤설정할 수 있습니다. 예를 들어 테스트 계정의 사용자 이름과 비밀번호를 제공할 수 있습니다. |
roboMode |
Robo가 실행되어야 하는 모드입니다. 대부분의 클라이언트는 서버가 이 필드를 자동으로 채우도록 허용해야 합니다. |
roboScript |
Robo가 크롤링을 진행하는 동안 프롤로그로 수행해야 하는 일련의 작업이 포함된 JSON 파일입니다. |
startingIntents[] |
크롤링을 위한 앱을 실행하는 데 사용된 인텐트입니다. 아무것도 지정하지 않으면 기본 런처 활동이 실행됩니다. 일부를 지정하면 지정한 것만 실행됩니다(기본 런처 활동을 명시적으로 지정해야 함). |
통합 필드 app_under_test . 필수 항목입니다. app_under_test 은 다음 중 하나여야 합니다. |
|
appApk |
테스트 중인 애플리케이션의 APK입니다. |
appBundle |
테스트 중인 애플리케이션의 다중 APK App Bundle입니다. |
RoboDirective
Robo가 크롤링을 진행하는 동안 발생하는 특정 UI 요소와 상호작용하도록 지시합니다. 현재 Robo는 텍스트 입력 또는 요소 클릭을 수행할 수 있습니다.
JSON 표현 |
---|
{
"resourceName": string,
"inputText": string,
"actionType": enum ( |
필드 | |
---|---|
resourceName |
필수. 대상 UI 요소의 Android 리소스 이름입니다. 예를 들어 자바의 R.string.foo 또는 xml의 @string/foo에서 'foo' 부분만 필요합니다. 참조 문서: https://developer.android.com/guide/topics/resources/accessing-resources.html |
inputText |
Robo가 설정에 전달하는 텍스트입니다. 비워 두면 지시문은 resourceName과 일치하는 요소에서 클릭으로 처리됩니다. |
actionType |
필수 항목입니다. Robo가 지정된 요소에서 수행해야 하는 작업 유형입니다. |
RoboActionType
Robo가 UI 요소에 수행할 수 있는 작업입니다.
열거형 | |
---|---|
ACTION_TYPE_UNSPECIFIED |
사용하지 마세요. Proto 버전 관리 전용입니다. |
SINGLE_CLICK |
Robo가 지정된 요소를 클릭하도록 지시합니다. 지정된 요소를 클릭할 수 없는 경우 작업에 실패합니다. |
ENTER_TEXT |
Robo가 지정된 요소에 텍스트를 입력하도록 지시합니다. 지정된 요소를 사용할 수 없거나 텍스트 입력을 할 수 없는 경우 작업에 실패합니다. |
IGNORE |
Robo가 특정 요소와의 상호작용을 무시하도록 지시합니다. |
Robo 모드
Robo가 실행되어야 하는 모드입니다.
열거형 | |
---|---|
ROBO_MODE_UNSPECIFIED |
즉, 서버가 모드를 선택해야 합니다. 권장됨 |
ROBO_VERSION_1 |
앱 다시 서명 없이 UIAutomator 전용 모드에서 Robo 실행 |
ROBO_VERSION_2 |
UIAutomator 대체를 사용하여 표준 Espresso에서 Robo 실행 |
RoboStartingIntent
크롤링을 위한 시작 활동을 지정하기 위한 메시지입니다.
JSON 표현 |
---|
{ "timeout": string, // Union field |
필드 | |
---|---|
timeout |
각 인텐트의 제한 시간(초)입니다. 소수점 아래가 최대 9자리까지이고 ' |
통합 필드 starting_intent . 필수 항목입니다. 활동을 시작하기 위한 인텐트 세부정보 starting_intent 은 다음 중 하나여야 합니다. |
|
launcherActivity |
기본 런처 활동을 시작하는 인텐트입니다. |
startActivity |
특정 세부정보로 활동을 시작하는 인텐트 |
noActivity |
시작 활동을 건너뜁니다. |
LauncherActivityIntent
이 유형에는 필드가 없습니다.
기본 런처 활동을 시작하는 인텐트를 지정합니다.
StartActivityIntent
작업, URI, 카테고리로 지정된 시작 인텐트입니다.
JSON 표현 |
---|
{ "action": string, "uri": string, "categories": [ string ] } |
필드 | |
---|---|
action |
작업 이름입니다. START_ACTIVITY에 필요합니다. |
uri |
작업을 위한 URI입니다. |
categories[] |
인텐트에 설정할 인텐트 카테고리입니다. |
액티비티 인텐트 없음
이 유형에는 필드가 없습니다.
시작 활동을 건너뜁니다.
AndroidTestLoop
테스트 루프가 포함된 Android 애플리케이션의 테스트입니다. 당분간은 Games가 이 API의 유일한 사용자이므로 <intent-name> 인텐트가 묵시적으로 추가됩니다.
JSON 표현 |
---|
{ "appPackageId": string, "scenarios": [ integer ], "scenarioLabels": [ string ], // Union field |
필드 | |
---|---|
appPackageId |
테스트 중인 애플리케이션의 자바 패키지입니다. 기본값은 애플리케이션의 매니페스트를 검사하여 결정됩니다. |
scenarios[] |
테스트 중에 실행해야 하는 시나리오 목록입니다. 기본값은 애플리케이션의 매니페스트에서 가져온 모든 테스트 루프입니다. |
scenarioLabels[] |
테스트 중에 실행해야 하는 시나리오 라벨 목록입니다. 시나리오 라벨은 애플리케이션의 매니페스트에 정의된 라벨로 매핑되어야 합니다. 예를 들어 player_experience와 com.google.test.loops.player_experience는 매니페스트에 com.google.test.loops.player_experience 이름이 지정된 모든 루프가 실행에 추가됩니다. 시나리오를 시나리오 필드에 지정할 수도 있습니다. |
통합 필드 app_under_test . 필수 항목입니다. 테스트할 Android 패키지입니다. app_under_test 은 다음 중 하나여야 합니다. |
|
appApk |
테스트 중인 애플리케이션의 APK입니다. |
appBundle |
테스트 중인 애플리케이션의 다중 APK App Bundle입니다. |
IosXcTest
XCTest 프레임워크를 사용하는 iOS 애플리케이션 테스트입니다. Xcode는 '테스트용 빌드' 옵션을 지원합니다, 이 옵션은 테스트 사양(인수, 테스트 메소드 등)이 포함된 .xctestrun 파일을 생성합니다. 이 테스트 유형은 .xctestrun 파일과 테스트를 실행하는 데 필요한 모든 바이너리가 포함된 Build/Products 디렉토리의 콘텐츠가 포함된 zip 파일을 허용합니다.
JSON 표현 |
---|
{ "testsZip": { object ( |
필드 | |
---|---|
testsZip |
필수 항목입니다. .xctestrun 파일과 DerivedData/Build/Products 디렉토리의 콘텐츠가 포함된 .zip입니다. xctestrun 필드를 지정하면 zip 파일의 .xctestrun 파일은 무시됩니다. |
xctestrun |
테스트 zip의 .xctestrun 파일을 재정의하는 .xctestrun 파일입니다. .xctestrun 파일에는 실행하거나 무시할 테스트 메소드와 함께 환경 변수가 포함되므로 분할 테스트에 유용할 수 있습니다. 기본값은 테스트 zip에서 가져옵니다. |
xcodeVersion |
테스트에 사용해야 하는 Xcode 버전입니다. TestEnvironmentDiscoveryService를 사용하여 지원되는 옵션을 가져옵니다. 기본값은 Firebase Test Lab이 지원하는 가장 최신 Xcode 버전입니다. |
appBundleId |
출력 전용입니다. 테스트 중인 애플리케이션의 번들 ID입니다. |
testSpecialEntitlements |
특수 앱 사용 권한을 테스트하는 옵션. 이를 설정하면 명시적인 애플리케이션 식별자가 있는 특수한 권한을 가진 앱이 다시 서명됩니다. 현재 aps-environment 사용 권한 테스트를 지원합니다. |
IosTestLoop
하나 이상의 게임 루프 시나리오를 구현하는 iOS 애플리케이션의 테스트입니다. 이 테스트 유형은 보관처리된 애플리케이션 (.ipa 파일)과 앱에서 순차적으로 실행될 정수 시나리오 목록을 허용합니다.
JSON 표현 |
---|
{
"appIpa": {
object ( |
필드 | |
---|---|
appIpa |
필수 항목입니다. 테스트할 애플리케이션의 .ipa입니다. |
scenarios[] |
테스트 중에 실행해야 하는 시나리오 목록입니다. 지정되지 않은 경우 기본값은 단일 시나리오 0입니다. |
appBundleId |
출력 전용입니다. 테스트 중인 애플리케이션의 번들 ID입니다. |
IosRoboTest
iOS 기기에서 iOS 애플리케이션을 탐색하는 테스트입니다.
JSON 표현 |
---|
{ "appIpa": { object ( |
필드 | |
---|---|
appIpa |
필수 항목입니다. 이 파일에 저장된 IPA는 테스트를 실행하는 데 사용됩니다. |
appBundleId |
테스트 중인 앱의 번들 ID입니다. 이는 애플리케이션의 'Info.plist'를 검토하여 결정됩니다. 파일에서 참조됩니다. |
roboScript |
크롤링을 맞춤설정하기 위한 Robo 스크립트(선택사항)입니다. Roboscript에 대한 자세한 내용은 https://firebase.google.com/docs/test-lab/android/robo-scripts-reference를 참조하세요. |
EnvironmentMatrix
테스트를 실행할 환경 매트릭스입니다.
JSON 표현 |
---|
{ // Union field |
필드 | |
---|---|
통합 필드 environment_matrix . 필수 항목입니다. 환경 매트릭스입니다. environment_matrix 은 다음 중 하나여야 합니다. |
|
androidMatrix |
Android 기기의 매트릭스입니다. |
androidDeviceList |
Android 기기 목록입니다. 테스트는 지정된 기기에서만 실행됩니다. |
iosDeviceList |
iOS 기기 목록입니다. |
AndroidMatrix
Android 기기 설정 순열 집합은 지정한 축의 교차 곱에 의해 정의됩니다. 내부적으로 지정된 AndroidMatrix가 AndroidDevices 집합으로 확장됩니다.
지원되는 순열만 인스턴스화됩니다. 지원되지 않는 순열(예: 호환되지 않는 모델/버전)은 무시됩니다.
JSON 표현 |
---|
{ "androidModelIds": [ string ], "androidVersionIds": [ string ], "locales": [ string ], "orientations": [ string ] } |
필드 | |
---|---|
androidModelIds[] |
필수. 사용할 Android 기기 집합의 ID입니다. TestEnvironmentDiscoveryService를 사용하여 지원되는 옵션을 가져옵니다. |
androidVersionIds[] |
필수 항목입니다. 사용할 Android OS 버전 집합의 ID입니다. TestEnvironmentDiscoveryService를 사용하여 지원되는 옵션을 가져옵니다. |
locales[] |
필수 항목입니다. 테스트 기기에서 테스트에 사용 설정할 언어 집합입니다. TestEnvironmentDiscoveryService를 사용하여 지원되는 옵션을 가져옵니다. |
orientations[] |
필수 항목입니다. 테스트할 방향 집합입니다. TestEnvironmentDiscoveryService를 사용하여 지원되는 옵션을 가져옵니다. |
AndroidDeviceList
테스트를 실행할 Android 기기 설정 목록입니다.
JSON 표현 |
---|
{
"androidDevices": [
{
object ( |
필드 | |
---|---|
androidDevices[] |
필수 항목입니다. Android 기기 목록입니다. |
IosDeviceList
테스트를 실행할 iOS 기기 설정 목록입니다.
JSON 표현 |
---|
{
"iosDevices": [
{
object ( |
필드 | |
---|---|
iosDevices[] |
필수 항목입니다. iOS 기기 목록입니다. |
IosDevice
단일 iOS 기기입니다.
JSON 표현 |
---|
{ "iosModelId": string, "iosVersionId": string, "locale": string, "orientation": string } |
필드 | |
---|---|
iosModelId |
필수. 사용할 iOS 기기의 ID입니다. TestEnvironmentDiscoveryService를 사용하여 지원되는 옵션을 가져옵니다. |
iosVersionId |
필수 항목입니다. 사용할 iOS 주요 소프트웨어 버전의 ID입니다. TestEnvironmentDiscoveryService를 사용하여 지원되는 옵션을 가져옵니다. |
locale |
필수 항목입니다. 테스트 기기에서 테스트에 사용된 언어입니다. TestEnvironmentDiscoveryService를 사용하여 지원되는 옵션을 가져옵니다. |
orientation |
필수 항목입니다. 테스트 중 기기의 방향입니다. TestEnvironmentDiscoveryService를 사용하여 지원되는 옵션을 가져옵니다. |
TestExecution
단일 환경에서 실행되는 단일 테스트입니다.
JSON 표현 |
---|
{ "id": string, "matrixId": string, "projectId": string, "testSpecification": { object ( |
필드 | |
---|---|
id |
출력 전용. 서비스에서 설정된 고유 ID입니다. |
matrixId |
출력 전용입니다. 포함된 TestMatrix의 ID입니다. |
projectId |
출력 전용. 테스트 실행을 소유한 Cloud 프로젝트입니다. |
testSpecification |
출력 전용입니다. 테스트를 실행하는 방법입니다. |
shard |
출력 전용입니다. 샤드에 관한 세부정보입니다. |
environment |
출력 전용입니다. 호스트 머신을 구성하는 방법입니다. |
state |
출력 전용입니다. 테스트 실행의 현재 진행 상황을 나타냅니다 (예: FINISHED)를 확인할 수 있습니다. |
toolResultsStep |
출력 전용입니다. 이 실행 결과가 작성되는 곳입니다. |
timestamp |
출력 전용입니다. 이 테스트 실행이 처음 만들어진 시간입니다. RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 |
testDetails |
출력 전용입니다. 테스트 실행에 대한 추가 세부정보입니다. |
분할
출력 전용입니다. 샤드에 관한 세부정보입니다.
JSON 표현 |
---|
{
"shardIndex": integer,
"numShards": integer,
"testTargetsForShard": {
object ( |
필드 | |
---|---|
shardIndex |
출력 전용입니다. 모든 샤드 중 샤드의 색인입니다. |
numShards |
출력 전용입니다. 총 샤드 수입니다. |
testTargetsForShard |
출력 전용입니다. 각 샤드의 테스트 대상 수동 샤딩에만 설정됩니다. |
estimatedShardDuration |
출력 전용입니다. 이전 테스트 사례 타이밍 기록(있는 경우)을 기반으로 한 예상 샤드 기간입니다. 소수점 아래가 최대 9자리까지이고 ' |
환경
테스트가 실행되는 환경입니다.
JSON 표현 |
---|
{ // Union field |
필드 | |
---|---|
통합 필드 environment . 필수 항목입니다. 환경입니다. environment 은 다음 중 하나여야 합니다. |
|
androidDevice |
Android 테스트에 사용해야 하는 Android 기기입니다. |
iosDevice |
iOS 테스트에 사용해야 하는 iOS 기기입니다. |
TestState
테스트 실행 또는 매트릭스의 상태(즉, 진행 상황)입니다.
열거형 | |
---|---|
TEST_STATE_UNSPECIFIED |
사용하지 마세요. Proto 버전 관리 전용입니다. |
VALIDATING |
실행 또는 매트릭스에 대한 유효성을 검사하는 중입니다. |
PENDING |
실행 또는 매트릭스에서 리소스를 사용할 수 있을 때까지 기다리는 중입니다. |
RUNNING |
현재 실행을 처리 중입니다. 실행에서만 설정할 수 있습니다. |
FINISHED |
실행 또는 매트릭스가 정상적으로 종료되었습니다. 매트릭스에서는 매트릭스 수준의 처리가 정상적으로 완료되었다는 의미이며, 각각의 실행에는 오류 상태가 있을 수도 있습니다. |
ERROR |
인프라 오류가 발생하여 실행 또는 매트릭스가 중지되었습니다. |
UNSUPPORTED_ENVIRONMENT |
지원되지 않는 환경에 해당하므로 테스트 실행이 진행되지 않았습니다. 실행에서만 설정할 수 있습니다. |
INCOMPATIBLE_ENVIRONMENT |
제공된 입력이 요청된 환경과 호환되지 않으므로 테스트 실행이 진행되지 않았습니다. 예: 요청된 AndroidVersion이 APK의 minSdkVersion보다 낮습니다. 실행에서만 설정할 수 있습니다. |
INCOMPATIBLE_ARCHITECTURE |
제공된 입력이 요청된 아키텍처와 호환되지 않으므로 테스트 실행이 진행되지 않았습니다. 예: 요청된 기기는 제공된 APK의 네이티브 코드 실행을 지원하지 않습니다. 실행에서만 설정할 수 있습니다. |
CANCELLED |
사용자가 실행을 취소했습니다. 실행에서만 설정할 수 있습니다. |
INVALID |
제공된 입력이 유효하지 않아서 테스트 실행 또는 매트릭스가 실행되지 않았습니다. 예: 입력 파일이 적절한 유형이 아니거나, 형식이 잘못 또는 손상되었거나, 멀웨어로 신고되었습니다. |
ToolResultsStep
도구 결과 단계 리소스를 나타냅니다.
여기에는 TestExecution의 결과가 포함되어 있습니다.
JSON 표현 |
---|
{ "projectId": string, "historyId": string, "executionId": string, "stepId": string } |
필드 | |
---|---|
projectId |
출력 전용. 도구 결과 단계를 소유하는 Cloud 프로젝트입니다. |
historyId |
출력 전용. 도구 결과 기록 ID입니다. |
executionId |
출력 전용. 도구 결과 실행 ID입니다. |
stepId |
출력 전용. 도구 결과 단계 ID입니다. |
TestDetails
실행 중인 테스트의 진행 상태에 대한 추가 세부정보입니다.
JSON 표현 |
---|
{ "progressMessages": [ string ], "errorMessage": string } |
필드 | |
---|---|
progressMessages[] |
출력 전용. 테스트 진행 상태에 대한 자세한 설명으로, 사람이 읽을 수 있는 형식으로 출력됩니다. 예: '기기 프로비저닝', '테스트 시작'. 실행 과정에서 새 데이터가 progressMessages의 끝에 추가될 수 있습니다. |
errorMessage |
출력 전용. TestState가 ERROR인 경우 이 문자열에는 오류에 대한 정보가 사람이 읽을 수 있는 형식으로 포함됩니다. |
ResultStorage
테스트의 실행 결과가 저장된 위치입니다.
JSON 표현 |
---|
{ "googleCloudStorage": { object ( |
필드 | |
---|---|
googleCloudStorage |
필수 항목입니다. |
toolResultsHistory |
결과가 작성된 도구 결과 실행이 포함된 도구 결과 기록입니다. 지정하지 않으면 서비스가 적절한 값을 선택합니다. |
toolResultsExecution |
출력 전용입니다. 결과가 작성된 도구 결과 실행입니다. |
resultsUrl |
출력 전용입니다. Firebase 웹 콘솔의 결과 URL입니다. |
GoogleCloudStorage
Google Cloud Storage(GCS) 내의 저장소 위치입니다.
JSON 표현 |
---|
{ "gcsPath": string } |
필드 | |
---|---|
gcsPath |
필수 항목입니다. 이 테스트의 결과가 포함될 GCS의 디렉터리 경로입니다. 요청하는 사용자에게 제공된 경로의 버킷에 대한 쓰기 액세스 권한이 있어야 합니다. |
ToolResultsHistory
도구 결과 기록 리소스를 나타냅니다.
JSON 표현 |
---|
{ "projectId": string, "historyId": string } |
필드 | |
---|---|
projectId |
필수. 도구 결과 기록을 소유하는 Cloud 프로젝트입니다. |
historyId |
필수. 도구 결과 기록 ID입니다. |
ToolResultsExecution
도구 결과 실행 리소스를 나타냅니다.
여기에는 TestMatrix의 결과가 포함되어 있습니다.
JSON 표현 |
---|
{ "projectId": string, "historyId": string, "executionId": string } |
필드 | |
---|---|
projectId |
출력 전용. 도구 결과 실행을 소유하는 Cloud 프로젝트입니다. |
historyId |
출력 전용. 도구 결과 기록 ID입니다. |
executionId |
출력 전용. 도구 결과 실행 ID입니다. |
InvalidMatrixDetails
잘못된 매트릭스로 간주된 상세한 이유입니다.
열거형 | |
---|---|
INVALID_MATRIX_DETAILS_UNSPECIFIED |
사용하지 마세요. Proto 버전 관리 전용입니다. |
DETAILS_UNAVAILABLE |
매트릭스가 유효하지 않지만 추가 세부정보가 없습니다. |
MALFORMED_APK |
입력 앱 APK를 파싱할 수 없습니다 |
MALFORMED_TEST_APK |
입력 테스트 APK를 파싱할 수 없습니다. |
NO_MANIFEST |
AndroidManifest.xml을 찾을 수 없습니다. |
NO_PACKAGE_NAME |
APK 매니페스트가 패키지 이름을 선언하지 않습니다. |
INVALID_PACKAGE_NAME |
APK 애플리케이션 ID (패키지 이름)가 잘못되었습니다. https://developer.android.com/studio/build/application-id도 참고하세요. |
TEST_SAME_AS_APP |
테스트 패키지와 앱 패키지가 동일합니다. |
NO_INSTRUMENTATION |
테스트 APK가 도구 작동을 선언하지 않습니다. |
NO_SIGNATURE |
입력 앱 APK에 서명이 없습니다. |
INSTRUMENTATION_ORCHESTRATOR_INCOMPATIBLE |
사용자 또는 테스트 APK의 매니페스트 파일에 의해 지정된 테스트 러너 클래스가 Android 테스트 조정자와 호환되지 않습니다. 조정자는 AndroidJUnitRunner 버전 1.1 이상과만 호환됩니다. DO_NOT_USE_ORCHESTRATOR OrchestratorOption을 사용하여 조정자를 사용 중지할 수 있습니다. |
NO_TEST_RUNNER_CLASS |
테스트 APK에 사용자 또는 매니페스트 파일에 의해 지정된 테스트 실행자 클래스가 포함되어 있지 않습니다. 다음 이유 중 하나가 원인일 수 있습니다.
|
NO_LAUNCHER_ACTIVITY |
기본 런처 활동을 찾을 수 없습니다. |
FORBIDDEN_PERMISSIONS |
앱이 애플리케이션에서 허용되지 않는 권한을 1개 이상 선언합니다. |
INVALID_ROBO_DIRECTIVES |
제공된 roboDirectives에 충돌이 있습니다. |
INVALID_RESOURCE_NAME |
제공된 robo 지시어에 잘못된 리소스 이름이 하나 이상 있습니다. |
INVALID_DIRECTIVE_ACTION |
Robo 지시어의 작업 정의가 잘못되었습니다 (예: 클릭 또는 무시 작업에 텍스트 입력란이 포함됨). |
TEST_LOOP_INTENT_FILTER_NOT_FOUND |
테스트 루프 인텐트 필터가 없거나 지정된 필터의 형식이 잘못되었습니다. |
SCENARIO_LABEL_NOT_DECLARED |
요청에 매니페스트에서 선언되지 않은 시나리오 라벨이 포함되어 있습니다. |
SCENARIO_LABEL_MALFORMED |
라벨 값을 파싱할 때 오류가 발생했습니다. |
SCENARIO_NOT_DECLARED |
요청에 매니페스트에서 선언되지 않은 시나리오 번호가 포함되어 있습니다. |
DEVICE_ADMIN_RECEIVER |
기기 관리자 애플리케이션은 허용되지 않습니다. |
MALFORMED_XC_TEST_ZIP |
압축된 XCTest가 잘못되었습니다. zip에 .xctestrun 파일 한 개와 DerivedData/Build/Products 디렉토리의 콘텐츠가 포함되어 있지 않습니다. |
BUILT_FOR_IOS_SIMULATOR |
압축된 XCTest가 실제 기기가 아니라 iOS 시뮬레이터용으로 빌드되었습니다. |
NO_TESTS_IN_XC_TEST_ZIP |
.xctestrun 파일에 테스트 대상을 지정하지 않았습니다. |
USE_DESTINATION_ARTIFACTS |
.xctestrun 파일에 정의된 하나 이상의 테스트 대상에 허용되지 않는 'UseDestinationArtifacts'를 지정했습니다. |
TEST_NOT_APP_HOSTED |
실제 기기에서 실행되는 XC 테스트는 xctestrun 파일에 'IsAppHostedTestBundle' == 'true'가 있어야 합니다. |
PLIST_CANNOT_BE_PARSED |
XCTest zip의 Info.plist 파일을 파싱할 수 없습니다. |
TEST_ONLY_APK |
APK가 'testOnly'로 표시되어 있습니다. 지원이 중단되어 현재 사용되지 않습니다. |
MALFORMED_IPA |
입력 IPA를 파싱할 수 없습니다. |
MISSING_URL_SCHEME |
애플리케이션이 게임 루프 URL 스키마를 등록하지 않습니다. |
MALFORMED_APP_BUNDLE |
iOS 애플리케이션 번들 (.app)을 처리할 수 없습니다. |
NO_CODE_APK |
APK에 코드가 포함되어 있지 않습니다. https://developer.android.com/guide/topics/manifest/application-element.html#code를 함께 참조하십시오. |
INVALID_INPUT_APK |
지정한 입력 APK 경로가 잘못되었거나, APK 파일이 존재하지 않거나, 사용자에게 APK 파일에 액세스할 수 있는 권한이 없습니다. |
INVALID_APK_PREVIEW_SDK |
APK가 지원되지 않는 미리보기 SDK용으로 빌드되었습니다. |
MATRIX_TOO_LARGE |
매트릭스가 너무 많은 실행을 포함하도록 확장되었습니다. |
TEST_QUOTA_EXCEEDED |
테스트 할당량이 부족하여 이 매트릭스에서 실행을 실행할 수 없습니다. |
SERVICE_NOT_ACTIVATED |
필요한 클라우드 서비스 API가 활성화되지 않았습니다. 참조: https://firebase.google.com/docs/test-lab/android/continuous#requirements |
UNKNOWN_PERMISSION_ERROR |
이 테스트를 실행하는 중에 알 수 없는 권한 문제가 발생했습니다. |
행렬 오류 세부정보
매트릭스의 단일 오류 또는 문제를 설명합니다.
JSON 표현 |
---|
{ "reason": string, "message": string } |
필드 | |
---|---|
reason |
출력 전용입니다. 오류가 발생한 이유입니다. 오류의 원인을 식별하는 UPPER_SNAKE_CASE의 상수 값입니다. |
message |
출력 전용입니다. TestMatrix의 오류 방식에 관한 사람이 읽을 수 있는 메시지입니다. |
결과 요약
완료된 테스트 매트릭스의 결과 요약입니다.
열거형 | |
---|---|
OUTCOME_SUMMARY_UNSPECIFIED |
사용하지 마세요. Proto 버전 관리 전용입니다. |
SUCCESS |
다음과 같이 테스트 매트릭스가 성공적으로 실행되었습니다.
|
FAILURE |
실행에 실패했습니다. 예를 들면 다음과 같습니다.
|
INCONCLUSIVE |
예기치 않은 문제가 발생했습니다. 여전히 실행에 실패한 것으로 간주해야 하지만 일시적인 문제일 수 있으며 테스트를 다시 실행하면 성공할 수도 있습니다. |
SKIPPED |
다음과 같은 모든 테스트를 건너뛰었습니다.
|
메소드 |
|
---|---|
|
테스트 매트릭스에서 완료되지 않은 테스트 실행을 취소합니다. |
|
지정된 사양에 따라 테스트 매트릭스를 만들고 실행합니다. |
|
테스트 매트릭스와 실행이 생성되면 상태를 확인합니다. |