コンソールへ移動

Firebase Test Lab と Android Studio

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

このガイドでは、Test Lab で使用するための Android Studio のインストゥルメンテーション テストを変更する方法を説明します。Android Studio の 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 に設定します。続いて、この文字列の値を使用して、追加のステートメントが実行されるかどうかを制御します。

Java

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

Kotlin

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