Android 스튜디오로 테스트 실행

Firebase Test Lab은 Android 앱을 테스트할 수 있는 클라우드 기반 인프라를 제공하고 Android 스튜디오와 완전히 통합되므로 계측 테스트를 실행하거나 테스트 결과를 검토할 수 있습니다.

이 가이드에서는 Test Lab과 통합하고 실행할 수 있도록 Android 스튜디오에서 계측 테스트를 수정하는 방법을 설명합니다. Android 스튜디오 UI에서 Test Lab을 사용하여 테스트 매트릭스를 만들고, 계측 테스트를 실행하고, 테스트 결과를 확인하는 방법은 Firebase Test Lab으로 테스트 실행을 참조하세요.

스크린샷 캡처

Test Lab은 계측 테스트를 실행할 때 스크린샷을 캡처하는 기능을 지원합니다. 스크린샷을 캡처하는 방법은 프로젝트에 스크린샷 라이브러리 추가를 참조하세요.

Espresso Test Recorder를 사용하여 테스트 만들기

Espresso Test Recorder 도구를 사용하면 테스트 코드를 작성하지 않고 앱의 UI 테스트를 만들 수 있습니다. 기기와의 상호작용을 기록하고 어설션을 추가하여 앱의 특정 스냅샷에서 UI 요소를 확인할 수 있습니다. 그런 다음 Espresso Test Recorder가 저장된 기록을 가져와 자동으로 Espresso UI 테스트를 생성하고 Test Lab에서 이를 실행하여 앱을 테스트할 수 있습니다.

자세히 알아보려면 Espresso Test Recorder로 UI 테스트 만들기를 참조하세요.

Test Lab의 계측 테스트 동작 수정

Test Lab이 제공하는 시스템 변수를 계측 테스트에 추가하면 Test Lab에서 실행하는 계측 테스트가 테스트 기기 또는 에뮬레이터에서 실행할 때와 다르게 동작할 수 있습니다.

다음 코드 예시에서는 firebase.test.lab 시스템 속성을 읽고 테스트가 Test Lab에서 실행 중이면 testLabSetting 문자열을 true로 설정합니다. 그런 다음 이 문자열 값을 사용하여 추가 구문 실행 여부를 제어할 수 있습니다.

Kotlin+KTX

val testLabSetting = Settings.System.getString(contentResolver, "firebase.test.lab")
if ("true" == testLabSetting) {
    // Do something when running in Test Lab
    // ...
}

Java

String testLabSetting = Settings.System.getString(getContentResolver(), "firebase.test.lab");
if ("true".equals(testLabSetting)) {
    // Do something when running in Test Lab
    // ...
}

Firebase Test Lab 플러그인을 통해 Gradle 관리 기기 사용

Firebase Test Lab 플러그인을 통한 Gradle 관리 기기를 사용하면 프로젝트의 Gradle 파일에 있는 구성에 따라 Test Lab 기기에서 자동화된 계측 테스트를 대규모로 실행할 수 있습니다.

Gradle 관리 기기는 또한 이전 테스트 기록을 토대로 샤드 전체에 테스트를 최적으로 배포할 수 있는 스마트 샤딩을 제공합니다. 스마트 샤딩을 사용하면 샤드가 거의 동일한 시간 동안 실행되고 가능한 한 빨리 테스트 결과를 반환합니다. 스마트 샤딩을 사용하면 대규모 테스트 모음을 동시에 실행할 수 있으므로 이 기능은 CI/CD 흐름에 적합합니다.

Gradle 관리 기기 Test Lab 플러그인을 사용하여 스마트 샤딩을 사용 설정하려면 스마트 샤딩으로 테스트 실행 최적화의 안내를 따르세요.