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
    // ...
}