自動テスター機能はプレビュー リリースです。プレビュー リリースは、SLA および非推奨ポリシーの対象ではなく、サポートが限定的であるか、またはサポートがまったく提供されない場合があります。プレビュー期間中は、Test Lab の料金が適用されます。自動テスター機能の料金は透明性を重視しており、一般提供前に詳細をお知らせします。
このガイドでは、Firebase コンソールで App Distribution 自動テスター機能を使用して、アプリを自動的にテストする方法について説明します。自動テスターはアプリにランダム クロールを実行し、検出された問題を報告します。
AI を活用したテストをご希望の場合は、アプリ テスト エージェントをご覧ください。
始める前に
まだ Firebase を Android プロジェクトに追加していない場合は追加します。
他の Firebase プロダクトを使用していない場合は、プロジェクトを作成してアプリを登録するだけでかまいません。ただし、今後追加のプロダクトを使用する場合は、Firebase コンソールを使用して Firebase を追加するのステップをすべて完了してください。
アプリのプレリリース版をテスターに配布する準備ができたら、通常のプロセスに従って APK をビルドします。APK はデバッグ鍵またはアプリ署名鍵を使用して署名する必要があります。
Firebase コンソールを使用してアプリを自動テスターに配布する
自動テスター機能は アプリ テスト エージェントに組み込まれました。これを使用するには、Firebase コンソールでテストを実行し、[ランダム クロール] を選択します。
Firebase CLI を使用してアプリを自動テスターに配布する
appdistribution:distribute コマンドを実行してアプリをアップロードし、テスターに配布します。次のパラメータを使用して、自動テスター機能への配布を構成します。
| appdistribution:distribute オプション | |
|---|---|
| --test-devicesまたは--test-devices-file | 自動テスター機能にビルドを配布するテストデバイス。 テストデバイスは、テストデバイスのセミコロン区切りのリストとして指定できます。 --test-devices: "model=shiba, version=34, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"または、テストデバイスのセミコロン区切りのリストを含む書式なしテキスト ファイルのパスを指定します。 --test-devices-file: "/path/to/test-devices.txt" | 
| --test-username | 自動テスト中に使用する自動ログインのユーザー名。 | 
| --test-passwordまたは--test-password-file | 自動テスト中に使用する自動ログイン用のパスワード。 または、パスワードを含む書式なしテキスト ファイルのパスを指定します。 --test-password-file: "/path/to/test-password.txt" | 
| --test-username-resource | 自動テスト中に自動ログインに使用するユーザー名フィールドのリソース名。 | 
| --test-password-resource | 自動テスト中に自動ログインに使用するパスワード フィールドのリソース名。 | 
| --test-non-blocking | 自動テストを非同期で実行します。自動テストの結果は Firebase コンソールで確認できます。 | 
Firebase CLI の使用開始と配布を構成するさまざまな方法について詳しくは、Firebase CLI を使用して Android アプリをテスターに配布するをご覧ください。
Gradle を使用してアプリを自動テスターに配布する
App Distribution を構成するには、firebaseAppDistribution セクションを少なくとも 1 つ追加し、次のパラメータを使用して、自動テスター機能への配布を構成します。
| App Distribution ビルド パラメータ | |
|---|---|
| testDevicesまたはtestDevicesFile | 自動テストを使用してビルドを配布するテストデバイス。 テストデバイスは、デバイス仕様のセミコロンで区切ったリストとして指定できます。 testDevices="model=shiba, version=34, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"または、デバイス仕様のセミコロン区切りリストを含むファイルへのパスを指定することもできます。 testDevicesFile="/path/to/testDevices.txt" | 
| testUsername | 自動テスト中に使用する自動ログインのユーザー名。 | 
| testUsernameResource | 自動テスト中に自動ログインに使用するユーザー名フィールドのリソース名。 | 
| testPasswordまたはtestPasswordFile | 自動テスト中に使用する自動ログイン用のパスワード。 または、パスワードを含む書式なしテキスト ファイルのパスを指定します。 testPasswordFile="/path/to/testPassword.txt" | 
| testPasswordResource | 自動テスト中に自動ログインに使用するパスワード フィールドのリソース名。 | 
| testNonBlocking | 自動テストを非同期で実行します。自動テストの結果は Firebase コンソールで確認できます。 | 
Gradle の使い方と配布を構成するさまざまな方法について詳しくは、Gradle を使用して Android アプリをテスターに配布するをご覧ください。
fastlane を使用してアプリを自動テスターに配布する
./fastlane/Fastfile のレーンに firebase_app_distribution ブロックを追加します。次のパラメータを使用して、自動テスター機能への配布を構成します。
| firebase_app_distribution のパラメータ | |
|---|---|
| test_devicesまたはtest_devices_file | 自動テスター機能にビルドを配布するテストデバイス。テストデバイスは、テストデバイスのセミコロン区切りのリストとして指定できます。 test_devices: "model=shiba, version=34, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"または、テストデバイスのセミコロン区切りのリストを含む書式なしテキスト ファイルのパスを指定します。 test_devices_file: "/path/to/test-devices.txt" | 
| test_username | 自動テスト中に使用する自動ログインのユーザー名。 | 
| test_passwordまたはtest_password_file | 自動テスト中に使用する自動ログイン用のパスワード。 または、パスワードを含む書式なしテキスト ファイルのパスを指定します。 test_password_file: "/path/to/test-password.txt" | 
| test_username_resource | 自動テスト中に自動ログインに使用するユーザー名フィールドのリソース名。 | 
| test_password_resource | 自動テスト中に自動ログインに使用するパスワード フィールドのリソース名。 | 
| test_non_blocking | 自動テストを非同期で実行します。自動テストの結果は Firebase コンソールで確認できます。 | 
fastlane の使い方と配布を構成するさまざまな方法について詳しくは、fastlane を使用して Android アプリをテスターに配布するをご覧ください。
自動テストクロールのステータス
テスト結果の解釈に役立つように、[自動テストの結果] タブには、テストに関する問題、アプリのスクリーンショット、各デバイスのテストクロールの動画が表示されます。テストのステータスは、テスト結果ページに表示されます。
| クロール ステータス | 説明 | 
|---|---|
| 保留中 | 自動テストはまだ実行中です。結果はまもなく表示されます。 | 
| 合格 | 自動テストによるアプリのクロールが正常に完了し、クラッシュは検出されませんでした。 | 
| 失敗 | テスト中にアプリがクラッシュしたため、自動テストは失敗しました。 | 
| 不確定 | インフラストラクチャ エラーのため、自動テストは失敗しました。 |