Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

Android Studio でテストを行う

Firebase Test Lab は、Android アプリをテストするためのクラウドベースのインフラストラクチャです。Android Studio と完全に連携しており、インストルメンテーション テストの実行とテスト結果の確認を行えます。

このガイドでは、Test Lab と統合してテストを行うために、Android Studio でインストルメンテーション テストを変更する方法について説明します。Android Studio の UI から Test Lab を使用して、テスト マトリックスの作成、インストルメンテーション テストの実施、テスト結果の確認を行う手順については、Firebase Test Lab でテストを実行するをご覧ください。

スクリーンショットをキャプチャする

Test Lab では、インストルメンテーション テストの実行時にスクリーンショットをキャプチャできます。スクリーンショットをキャプチャする方法については、プロジェクトにスクリーンショット ライブラリを追加するをご覧ください。

Espresso テスト レコーダーを使用してテストを作成する

Espresso テスト レコーダー ツールを使用すると、テストコードを記述しなくてもアプリの UI テストを作成できます。デバイスでの操作を記録し、アサーションを追加して、アプリの特定のスナップショットの UI 要素を検証できます。Espresso テスト レコーダーは、保存された記録を受け取り、対応する Espresso UI テストを自動的に生成します。生成されたテストは Test Lab でアプリをテストする際に使用できます。

詳しくは、Espresso テスト レコーダーで UI テストを作成するをご覧ください。

Test Lab のインストルメンテーション テストの動作を修正する

Test Lab では、インストルメンテーション テストに追加できるシステム変数が用意されています。この変数を使うことで、Test Lab でインストルメンテーション テストを実行する際に、自身のデバイスやエミュレータで実行する場合とは違う動作をさせることができます。

次のコード例では、システム プロパティ firebase.test.lab を読み取り、テストが Test Lab で実行されている場合は文字列 testLabSetting の値を true に設定します。続いて、この文字列の値を使用して、追加のステートメントが実行されるかどうかを制御します。

Java

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

Kotlin+KTX

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