이 가이드에서는 gcloud CLI 를 사용하여 계측, Robo 또는 게임 루프 테스트를 실행하는 방법을 설명합니다.
Test Lab에서 Android 앱과 함께 사용할 수 있는 gcloud
명령어의 전체 목록을 보려면 gcloud firebase test android
참조 문서를 방문하세요.
시작하기 전에
아직 추가하지 않았다면 Android 프로젝트에 Firebase를 추가합니다 .
1단계. gcloud CLI 설정
- Google 클라우드 SDK를 다운로드합니다.
- 설치가 최신인지 확인하십시오:
gcloud components update
- Google 계정
gcloud auth login
를 사용하여 gcloud CLI에 로그인합니다. - gcloud에서 Firebase 프로젝트를 설정합니다. 여기서 PROJECT_ID 는 Firebase 프로젝트의 ID입니다.
gcloud config set project PROJECT_ID
여기에는 gcloud CLI 도구가 포함됩니다.
2단계. 사용 가능한 테스트 장치 확인
테스트에 사용할 수 있는 테스트 기기 및 언어를 보려면 다음 gcloud 명령어를 사용하세요.
옵션으로 샘플 메모장 앱 을 다운로드하여 바로 명령 실행을 시작할 수도 있습니다. NotePad/app/build/outputs/apk/
에 있는 이진 파일 app-debug-unaligned.apk
및 계측 테스트 파일 app-debug-test-unaligned.apk
를 사용합니다.
models list
: 테스트할 수 있는 현재 Android 기기 목록을 가져옵니다.gcloud firebase test android models list
명령 출력에서:
- 열
MODEL_ID
에는 나중에 장치 모델에서 테스트를 실행하는 데 사용할 수 있는 식별자가 포함됩니다. - 열
OS_VERSION_ID
에는 장치에서 지원하는 운영 체제 버전이 포함됩니다.
예제 출력
- 열
models describe
: 특정 AndroidMODEL_ID
에 대한 자세한 정보를 가져옵니다.gcloud firebase test android models describe MODEL_ID
출력에는 장치 모델의 브랜드, 제조업체, OS 버전, 지원되는 API 수준, 지원되는 ABI(Application Binary Interfaces), 릴리스 날짜 및 장치가 물리적인지 가상인지 여부가 포함됩니다.
versions list
: 테스트할 현재 사용 가능한 OS 버전 목록을 가져옵니다.gcloud firebase test android versions list
명령 출력의 처음 두 열(
OS_VERSION_ID
및VERSION
) 중 하나의 식별자를 사용하여 나중에 Android OS 버전에 대한 테스트를 실행할 수 있습니다. 테스트할 Android OS 버전을 지정하지 않으면TAGS
열 아래에 표시된 기본값이 사용됩니다.예제 출력
locales list
: 테스트할 수 있는 현재 로케일 목록을 가져옵니다.gcloud firebase test android versions list
명령 출력의 첫 번째 열인
LOCALE
에는 나중에 로케일에 대해 테스트를 실행하는 데 사용할 수 있는 식별자가 포함되어 있습니다. 테스트할 로케일을 지정하지 않으면 영어가 기본 로케일로 사용됩니다.
테스트 실행
이제 앱 테스트에 사용할 수 있는 기기 모델, 언어, OS 버전의 범위를 알았 gcloud firebase test android run
명령어와 --device
플래그를 사용하여 기기를 지정하여 Robo 또는 계측 테스트를 실행할 수 있습니다.
Robo 테스트 실행
계측 테스트가 없더라도 앱에서 버그를 찾을 수 있습니다. Robo 테스트를 사용하여 앱의 사용자 인터페이스에 대한 자동 검토를 수행합니다. Robo 테스트는 앱의 사용자 인터페이스를 통해 다양한 경로에 대한 정적 분석을 수행한 다음 앱을 크롤링하여 충돌 및 기타 잠재적인 문제를 찾아 앱을 실행합니다.
예제 명령을 실행하여 시작하겠습니다.
gcloud firebase test android run \ --type robo \ --app app-debug-unaligned.apk \ --device model=Nexus6,version=21,locale=en,orientation=portrait \ --device model=Nexus7,version=19,locale=fr,orientation=landscape \ --timeout 90s
--type
값이 지정되지 않은 경우 --type robo
매개변수는 암시적입니다. gcloud help firebase test android run
을 입력하면 테스트 실행을 위한 전체 명령줄 옵션 세트를 볼 수 있습니다. 명령줄에서 이러한 모든 인수를 지정하는 대신 선택적으로 YAML 형식의 인수 파일에 인수를 지정할 수 있습니다. gcloud topic arg-files
를 실행하여 이 기능을 사용하는 방법을 알아보세요.
Robo 테스트에서 테스트 결과를 조사하는 방법을 알아 보려면 테스트 결과 분석 섹션을 참조하세요 .
계측 테스트 실행
이제 gcloud
명령줄 도구를 사용하여 지정된 Android 기기 구성에서 메모장 앱의 Espresso 테스트를 실행하세요. instrumentation
테스트 유형을 사용하여 다음과 같이 app-debug-test-unaligned.apk
에서 테스트를 실행합니다.
gcloud firebase test android run \ --type instrumentation \ --app app-debug-unaligned.apk \ --test app-debug-test-unaligned.apk \ --device model=Nexus6,version=21,locale=en,orientation=portrait \ --device model=Nexus7,version=19,locale=fr,orientation=landscape
테스트 APK가 --test
로 지정된 경우 --type instrumentation
매개변수는 암시적입니다. 명령줄에서 이러한 모든 인수를 지정하는 대신 선택적으로 YAML 형식의 인수 파일에 인수를 지정할 수 있습니다. gcloud topic arg-files
를 실행하여 이 기능을 사용하는 방법을 알아보세요.
gcloud CLI는 Android Test Orchestrator 를 지원합니다. Orchestrator에는 AndroidJUnitRunner v1.1 이상이 필요합니다. 활성화하려면 다음과 함께 gcloud firebase test android run
을 사용하세요.
--use-orchestrator
플래그. 비활성화하려면 --no-use-orchestrator
플래그를 사용하십시오.
위에 표시되지 않은 추가 플래그를 사용하여 Test Lab에서 계측 테스트를 실행하는 방법을 제어할 수도 있습니다. 예를 들어 --test-targets
플래그를 사용하여 테스트 APK에서 사용하는 단일 클래스 또는 클래스 메서드를 테스트할 수 있습니다. 하나 이상의 테스트 사례가 있는 경우 테스트 실행을 다시 시도해야 하는 횟수를 지정하는 --num-flaky-test-attempts
플래그를 사용하여 실패한 테스트가 실제로 취약한지 여부를 확인할 수도 있습니다. 어떤 이유로든 실패합니다. 자세히 알아보려면 gcloud firebase test android run 을 참조하세요.
계측 테스트를 위한 코드 커버리지 보고서
Test Lab은 코드 커버리지 보고 도구 EMMA 및 JaCoCo 를 지원합니다. 앱 빌드에 통합된 도구가 있는 경우 몇 가지 추가 인수와 함께 gcloud firebase test android run
을 실행하여 Test Lab 테스트에 대한 코드 적용 범위 보고서를 가져올 수 있습니다. Android Test Orchestrator가 활성화되지 않은 경우 다음을 사용합니다.
gcloud firebase test android run \ --type instrumentation \ --app your-app.apk \ --test your-app-test.apk \ --device model=TestDevice,version=AndroidVersion \ --environment-variables coverage=true,coverageFile="/sdcard/Download/coverage.ec" \ --directories-to-pull /sdcard/Download
Android Test Orchestrator를 사용하면서 코드 적용 범위 보고서를 생성하는 경우 다음과 같이 환경 변수를 수정합니다.
gcloud firebase test android run \ --type instrumentation \ --app your-app.apk \ --test your-app-test.apk \ --device model=TestDevice,version=AndroidVersion \ --environment-variables clearPackageData=true,coverage=true,coverageFilePath="/sdcard/Download/" \ --directories-to-pull /sdcard/Download
Test Lab에서 테스트 실행이 완료되면 Google Cloud Storage에서 코드 범위 보고서를 찾습니다.
-
gcloud
도구가 터미널의 테스트 결과 테이블 위에 인쇄한 Firebase 콘솔 링크를 엽니다. - 해당 링크의 목록에서 테스트 실행을 클릭하여 해당 실행의 세부 정보 페이지를 엽니다.
- 테스트 결과 를 클릭하여 해당 실행의 테스트 결과가 있는 Cloud Storage 버킷으로 이동합니다.
- 코드 커버리지 보고서를 보려면
artifacts/coverage.ec
를 여십시오.
테스트 결과 분석
몇 분 후 테스트 결과의 기본 요약이 gcloud 도구에 의해 인쇄됩니다.
명령줄 테스트 실행의 출력에는 테스트 결과를 볼 수 있는 링크도 포함되어 있습니다. 이러한 결과를 해석하는 방법에 대해 자세히 알아보려면 Android용 Firebase Test Lab 결과 분석 을 참조하세요.
Robo 테스트를 통한 사용자 지정 로그인 및 텍스트 입력
--no-auto-google-login
매개변수를 사용하지 않는 한 Robo 테스트는 인증을 위해 Google 계정을 사용하는 로그인 화면을 자동으로 완료합니다. 제공한 테스트 계정 자격 증명을 사용하여 사용자 지정 로그인 화면을 완료할 수도 있습니다. 이 매개변수를 사용하여 앱에서 사용하는 다른 텍스트 필드에 대한 사용자 정의 입력 텍스트를 제공할 수도 있습니다.
앱의 텍스트 필드를 완료하려면 --robo-directives
매개변수를 사용하고 쉼표로 구분된 key-value
쌍 목록을 제공하세요. 여기서 key
는 대상 UI 요소의 Android 리소스 이름이고 value
은 텍스트 문자열입니다. . 또한 이 플래그를 사용하여 Robo에게 특정 UI 요소(예: "로그아웃" 버튼)를 무시하도록 지시할 수 있습니다. EditText
필드는 지원되지만 WebView
UI 요소의 텍스트 필드는 지원되지 않습니다.
예를 들어 사용자 정의 로그인에 다음 매개변수를 사용할 수 있습니다.
--robo-directives username_resource=username,password_resource=password
사용 가능한 명령 및 플래그
Test Lab gcloud CLI에는 다양한 사양으로 테스트를 실행할 수 있는 몇 가지 명령어와 플래그가 있습니다.
Android Test Orchestrator 플래그 : 자체
Instrumentation
호출에서 각 앱의 테스트를 실행할 수 있게 해주는 도구 인 Orchestrator 를 사용 설정하는 플래그입니다. Test Lab은 항상 최신 버전의 Orchestrator를 실행합니다.게임 루프 테스트 플래그 : 게임 앱에서 플레이어 작업을 시뮬레이션하기 위해 "데모 모드"를 활성화하고 제어하는 구성 플래그 집합입니다. Test Lab으로 게임 루프 테스트를 실행하는 방법에 대해 자세히 알아보세요.
Uniform Sharding flag (in beta) : 테스트 사례를 균등하게 배포하려는 샤드 수를 지정하는 플래그입니다. 샤드는 별도의 장치에서 병렬로 실행됩니다.
수동 샤딩 플래그 (베타) : 샤드(테스트 사례 그룹)에서 실행할 패키지, 클래스 및/또는 테스트 사례 그룹을 지정하는 플래그입니다. 샤드는 별도의 장치에서 병렬로 실행됩니다.
네트워크 트래픽 프로필 플래그 (베타) : 테스트에서 물리적 장치와 함께 사용하는 네트워크 프로필을 지정하는 플래그입니다. 네트워크 프로필은 다양한 네트워크 조건을 에뮬레이션하므로 신뢰할 수 없거나 예측할 수 없는 네트워크에서 앱의 성능을 테스트할 수 있습니다.
Test Lab으로 gcloud 명령어 스크립팅
셸 스크립트 또는 배치 파일을 사용하여 gcloud 명령줄을 사용하여 실행할 모바일 앱 테스트 명령을 자동화할 수 있습니다. 다음 예제 bash 스크립트는 2분 제한 시간으로 계측 테스트를 실행하고 테스트 실행이 성공적으로 완료되었는지 보고합니다.
if gcloud firebase test android run --app my-app.apk --test my-test.apk --timeout 2m then echo "Test matrix successfully finished" else echo "Test matrix exited abnormally with non-zero exit code: " $? fi
스크립트 종료 코드
Test Lab은 스크립트 또는 배치 파일을 사용하여 실행하는 테스트 결과를 더 잘 이해하는 데 사용할 수 있는 몇 가지 종료 코드를 제공합니다.
Test Lab용 스크립팅 종료 코드
종료 코드 | 메모 |
---|---|
0 | 모든 테스트 실행이 통과되었습니다. |
1 | 일반 오류가 발생했습니다. 가능한 원인은 존재하지 않는 파일 이름 또는 HTTP/네트워크 오류입니다. |
2 | 알 수 없는 명령 또는 인수가 제공되어 테스트가 종료되었습니다. |
10 | 테스트 실행 내에서 하나 이상의 테스트 사례(테스트된 클래스 또는 클래스 메서드)가 통과하지 못했습니다. |
15 | 예상치 못한 오류로 인해 Firebase Test Lab에서 테스트 매트릭스의 통과 여부를 확인할 수 없습니다. |
18 | 테스트 차원이 호환되지 않아 이 테스트 실행을 위한 테스트 환경이 지원되지 않습니다. 선택한 기기 유형에서 선택한 Android API 수준을 지원하지 않는 경우 이 오류가 발생할 수 있습니다. |
19 | 사용자가 테스트 매트릭스를 취소했습니다. |
20 | 테스트 인프라 오류가 발생했습니다. |
이 가이드에서는 gcloud CLI 를 사용하여 계측, Robo 또는 게임 루프 테스트를 실행하는 방법을 설명합니다.
Test Lab에서 Android 앱과 함께 사용할 수 있는 gcloud
명령어의 전체 목록을 보려면 gcloud firebase test android
참조 문서를 방문하세요.
시작하기 전에
아직 추가하지 않았다면 Android 프로젝트에 Firebase를 추가합니다 .
1단계. gcloud CLI 설정
- Google 클라우드 SDK를 다운로드합니다.
- 설치가 최신인지 확인하십시오:
gcloud components update
- Google 계정
gcloud auth login
를 사용하여 gcloud CLI에 로그인합니다. - gcloud에서 Firebase 프로젝트를 설정합니다. 여기서 PROJECT_ID 는 Firebase 프로젝트의 ID입니다.
gcloud config set project PROJECT_ID
여기에는 gcloud CLI 도구가 포함됩니다.
2단계. 사용 가능한 테스트 장치 확인
테스트에 사용할 수 있는 테스트 기기 및 언어를 보려면 다음 gcloud 명령어를 사용하세요.
옵션으로 샘플 메모장 앱 을 다운로드하여 바로 명령 실행을 시작할 수도 있습니다. NotePad/app/build/outputs/apk/
에 있는 이진 파일 app-debug-unaligned.apk
및 계측 테스트 파일 app-debug-test-unaligned.apk
를 사용합니다.
models list
: 테스트할 수 있는 현재 Android 기기 목록을 가져옵니다.gcloud firebase test android models list
명령 출력에서:
- 열
MODEL_ID
에는 나중에 장치 모델에서 테스트를 실행하는 데 사용할 수 있는 식별자가 포함됩니다. - 열
OS_VERSION_ID
에는 장치에서 지원하는 운영 체제 버전이 포함됩니다.
예제 출력
- 열
models describe
: 특정 AndroidMODEL_ID
에 대한 자세한 정보를 가져옵니다.gcloud firebase test android models describe MODEL_ID
출력에는 장치 모델의 브랜드, 제조업체, OS 버전, 지원되는 API 수준, 지원되는 ABI(Application Binary Interfaces), 릴리스 날짜 및 장치가 물리적인지 가상인지 여부가 포함됩니다.
versions list
: 테스트할 현재 사용 가능한 OS 버전 목록을 가져옵니다.gcloud firebase test android versions list
명령 출력의 처음 두 열(
OS_VERSION_ID
및VERSION
) 중 하나의 식별자를 사용하여 나중에 Android OS 버전에 대한 테스트를 실행할 수 있습니다. 테스트할 Android OS 버전을 지정하지 않으면TAGS
열 아래에 표시된 기본값이 사용됩니다.예제 출력
locales list
: 테스트할 수 있는 현재 로케일 목록을 가져옵니다.gcloud firebase test android versions list
명령 출력의 첫 번째 열인
LOCALE
에는 나중에 로케일에 대해 테스트를 실행하는 데 사용할 수 있는 식별자가 포함되어 있습니다. 테스트할 로케일을 지정하지 않으면 영어가 기본 로케일로 사용됩니다.
테스트 실행
이제 앱 테스트에 사용할 수 있는 기기 모델, 언어, OS 버전의 범위를 알았 gcloud firebase test android run
명령어와 --device
플래그를 사용하여 기기를 지정하여 Robo 또는 계측 테스트를 실행할 수 있습니다.
Robo 테스트 실행
계측 테스트가 없더라도 앱에서 버그를 찾을 수 있습니다. Robo 테스트를 사용하여 앱의 사용자 인터페이스에 대한 자동 검토를 수행합니다. Robo 테스트는 앱의 사용자 인터페이스를 통해 다양한 경로에 대한 정적 분석을 수행한 다음 앱을 크롤링하여 충돌 및 기타 잠재적인 문제를 찾아 앱을 실행합니다.
예제 명령을 실행하여 시작하겠습니다.
gcloud firebase test android run \ --type robo \ --app app-debug-unaligned.apk \ --device model=Nexus6,version=21,locale=en,orientation=portrait \ --device model=Nexus7,version=19,locale=fr,orientation=landscape \ --timeout 90s
--type
값이 지정되지 않은 경우 --type robo
매개변수는 암시적입니다. gcloud help firebase test android run
을 입력하면 테스트 실행을 위한 전체 명령줄 옵션 세트를 볼 수 있습니다. 명령줄에서 이러한 모든 인수를 지정하는 대신 선택적으로 YAML 형식의 인수 파일에 인수를 지정할 수 있습니다. gcloud topic arg-files
를 실행하여 이 기능을 사용하는 방법을 알아보세요.
Robo 테스트에서 테스트 결과를 조사하는 방법을 알아 보려면 테스트 결과 분석 섹션을 참조하세요 .
계측 테스트 실행
이제 gcloud
명령줄 도구를 사용하여 지정된 Android 기기 구성에서 메모장 앱의 Espresso 테스트를 실행하세요. instrumentation
테스트 유형을 사용하여 다음과 같이 app-debug-test-unaligned.apk
에서 테스트를 실행합니다.
gcloud firebase test android run \ --type instrumentation \ --app app-debug-unaligned.apk \ --test app-debug-test-unaligned.apk \ --device model=Nexus6,version=21,locale=en,orientation=portrait \ --device model=Nexus7,version=19,locale=fr,orientation=landscape
테스트 APK가 --test
로 지정된 경우 --type instrumentation
매개변수는 암시적입니다. 명령줄에서 이러한 모든 인수를 지정하는 대신 선택적으로 YAML 형식의 인수 파일에 인수를 지정할 수 있습니다. gcloud topic arg-files
를 실행하여 이 기능을 사용하는 방법을 알아보세요.
gcloud CLI는 Android Test Orchestrator 를 지원합니다. Orchestrator에는 AndroidJUnitRunner v1.1 이상이 필요합니다. 활성화하려면 다음과 함께 gcloud firebase test android run
을 사용하세요.
--use-orchestrator
플래그. 비활성화하려면 --no-use-orchestrator
플래그를 사용하십시오.
위에 표시되지 않은 추가 플래그를 사용하여 Test Lab에서 계측 테스트를 실행하는 방법을 제어할 수도 있습니다. 예를 들어 --test-targets
플래그를 사용하여 테스트 APK에서 사용하는 단일 클래스 또는 클래스 메서드를 테스트할 수 있습니다. 하나 이상의 테스트 사례가 있는 경우 테스트 실행을 다시 시도해야 하는 횟수를 지정하는 --num-flaky-test-attempts
플래그를 사용하여 실패한 테스트가 실제로 취약한지 여부를 확인할 수도 있습니다. 어떤 이유로든 실패합니다. 자세히 알아보려면 gcloud firebase test android run 을 참조하세요.
계측 테스트를 위한 코드 커버리지 보고서
Test Lab은 코드 커버리지 보고 도구 EMMA 및 JaCoCo 를 지원합니다. 앱 빌드에 통합된 도구가 있는 경우 몇 가지 추가 인수와 함께 gcloud firebase test android run
을 실행하여 Test Lab 테스트에 대한 코드 적용 범위 보고서를 가져올 수 있습니다. Android Test Orchestrator가 활성화되지 않은 경우 다음을 사용합니다.
gcloud firebase test android run \ --type instrumentation \ --app your-app.apk \ --test your-app-test.apk \ --device model=TestDevice,version=AndroidVersion \ --environment-variables coverage=true,coverageFile="/sdcard/Download/coverage.ec" \ --directories-to-pull /sdcard/Download
Android Test Orchestrator를 사용하면서 코드 적용 범위 보고서를 생성하는 경우 다음과 같이 환경 변수를 수정합니다.
gcloud firebase test android run \ --type instrumentation \ --app your-app.apk \ --test your-app-test.apk \ --device model=TestDevice,version=AndroidVersion \ --environment-variables clearPackageData=true,coverage=true,coverageFilePath="/sdcard/Download/" \ --directories-to-pull /sdcard/Download
Test Lab에서 테스트 실행이 완료되면 Google Cloud Storage에서 코드 범위 보고서를 찾습니다.
-
gcloud
도구가 터미널의 테스트 결과 테이블 위에 인쇄한 Firebase 콘솔 링크를 엽니다. - 해당 링크의 목록에서 테스트 실행을 클릭하여 해당 실행의 세부 정보 페이지를 엽니다.
- 테스트 결과 를 클릭하여 해당 실행의 테스트 결과가 있는 Cloud Storage 버킷으로 이동합니다.
- 코드 커버리지 보고서를 보려면
artifacts/coverage.ec
를 여십시오.
테스트 결과 분석
몇 분 후 테스트 결과의 기본 요약이 gcloud 도구에 의해 인쇄됩니다.
명령줄 테스트 실행의 출력에는 테스트 결과를 볼 수 있는 링크도 포함되어 있습니다. 이러한 결과를 해석하는 방법에 대해 자세히 알아보려면 Android용 Firebase Test Lab 결과 분석 을 참조하세요.
Robo 테스트를 통한 사용자 지정 로그인 및 텍스트 입력
--no-auto-google-login
매개변수를 사용하지 않는 한 Robo 테스트는 인증을 위해 Google 계정을 사용하는 로그인 화면을 자동으로 완료합니다. 제공한 테스트 계정 자격 증명을 사용하여 사용자 지정 로그인 화면을 완료할 수도 있습니다. 이 매개변수를 사용하여 앱에서 사용하는 다른 텍스트 필드에 대한 사용자 정의 입력 텍스트를 제공할 수도 있습니다.
앱의 텍스트 필드를 완료하려면 --robo-directives
매개변수를 사용하고 쉼표로 구분된 key-value
쌍 목록을 제공하세요. 여기서 key
는 대상 UI 요소의 Android 리소스 이름이고 value
은 텍스트 문자열입니다. . 또한 이 플래그를 사용하여 Robo에게 특정 UI 요소(예: "로그아웃" 버튼)를 무시하도록 지시할 수 있습니다. EditText
필드는 지원되지만 WebView
UI 요소의 텍스트 필드는 지원되지 않습니다.
예를 들어 사용자 정의 로그인에 다음 매개변수를 사용할 수 있습니다.
--robo-directives username_resource=username,password_resource=password
사용 가능한 명령 및 플래그
Test Lab gcloud CLI에는 다양한 사양으로 테스트를 실행할 수 있는 몇 가지 명령어와 플래그가 있습니다.
Android Test Orchestrator 플래그 : 자체
Instrumentation
호출에서 각 앱의 테스트를 실행할 수 있게 해주는 도구 인 Orchestrator 를 사용 설정하는 플래그입니다. Test Lab은 항상 최신 버전의 Orchestrator를 실행합니다.게임 루프 테스트 플래그 : 게임 앱에서 플레이어 작업을 시뮬레이션하기 위해 "데모 모드"를 활성화하고 제어하는 구성 플래그 집합입니다. Test Lab으로 게임 루프 테스트를 실행하는 방법에 대해 자세히 알아보세요.
Uniform Sharding flag (in beta) : 테스트 사례를 균등하게 배포하려는 샤드 수를 지정하는 플래그입니다. 샤드는 별도의 장치에서 병렬로 실행됩니다.
수동 샤딩 플래그 (베타) : 샤드(테스트 사례 그룹)에서 실행할 패키지, 클래스 및/또는 테스트 사례 그룹을 지정하는 플래그입니다. 샤드는 별도의 장치에서 병렬로 실행됩니다.
네트워크 트래픽 프로필 플래그 (베타) : 테스트에서 물리적 장치와 함께 사용하는 네트워크 프로필을 지정하는 플래그입니다. 네트워크 프로필은 다양한 네트워크 조건을 에뮬레이션하므로 신뢰할 수 없거나 예측할 수 없는 네트워크에서 앱의 성능을 테스트할 수 있습니다.
Test Lab으로 gcloud 명령어 스크립팅
셸 스크립트 또는 배치 파일을 사용하여 gcloud 명령줄을 사용하여 실행할 모바일 앱 테스트 명령을 자동화할 수 있습니다. 다음 예제 bash 스크립트는 2분 제한 시간으로 계측 테스트를 실행하고 테스트 실행이 성공적으로 완료되었는지 보고합니다.
if gcloud firebase test android run --app my-app.apk --test my-test.apk --timeout 2m then echo "Test matrix successfully finished" else echo "Test matrix exited abnormally with non-zero exit code: " $? fi
스크립트 종료 코드
Test Lab은 스크립트 또는 배치 파일을 사용하여 실행하는 테스트 결과를 더 잘 이해하는 데 사용할 수 있는 몇 가지 종료 코드를 제공합니다.
Test Lab용 스크립팅 종료 코드
종료 코드 | 메모 |
---|---|
0 | 모든 테스트 실행이 통과되었습니다. |
1 | 일반 오류가 발생했습니다. 가능한 원인은 존재하지 않는 파일 이름 또는 HTTP/네트워크 오류입니다. |
2 | 알 수 없는 명령 또는 인수가 제공되어 테스트가 종료되었습니다. |
10 | 테스트 실행 내에서 하나 이상의 테스트 사례(테스트된 클래스 또는 클래스 메서드)가 통과하지 못했습니다. |
15 | 예상치 못한 오류로 인해 Firebase Test Lab에서 테스트 매트릭스의 통과 여부를 확인할 수 없습니다. |
18 | 테스트 차원이 호환되지 않아 이 테스트 실행을 위한 테스트 환경이 지원되지 않습니다. 선택한 기기 유형에서 선택한 Android API 수준을 지원하지 않는 경우 이 오류가 발생할 수 있습니다. |
19 | 사용자가 테스트 매트릭스를 취소했습니다. |
20 | 테스트 인프라 오류가 발생했습니다. |