Firebase Test Lab で Flutter アプリをテストするには、Flutter 統合テストを作成し、Android APK または iOS テスト zip ファイルを作成して、通常の Android インストルメンテーション テストまたは iOS XCTest として実行します。
Flutter 統合テストの種類
Flutter は、単体テスト、ウィジェット テスト、統合テストの 3 種類のテストをサポートしています。単体テストでは、メソッドまたはクラスの動作を検証します。ウィジェット テストでは、アプリ自体を実行せずに Flutter ウィジェットの動作を検証します。統合テスト(別名、エンドツーエンド テストまたは GUI テスト)は、アプリ全体を実行します。
統合テストについて詳しくは、Flutter の Integration testing をご覧ください。
Flutter 統合テストを作成する
統合テストの作成方法については、Flutter 統合テスト ドキュメントのプロジェクトの設定 セクションをご覧ください。必要に応じて、Flutter コマンドを使用した実行の手順に従い、テストをローカルで実行し、検証することができます。
Test Lab でのテスト
Test Lab は Android と iOS の両方のターゲットで使用できます。
Android の設定
README の Android Device Testing の手順を行います。
iOS の設定
README の iOS Device Testing の手順を行います。
Robo テストのサポート
Robo テストは Flutter をネイティブでサポートしていません。アプリのクロールを改善するには、Robo スクリプトを使用します。これは、モバイルアプリの手動 QA タスクを自動化し、継続的インテグレーション(CI)とリリース前テスト戦略を可能にするテストです。たとえば、visionText でクリックを使用すると、Robo の動作をより正確かつ堅牢に制御できます。
テスト結果を分析する
Flutter 統合テストは、Android のインストルメンテーション テストまたは iOS の XCTest として実行できます。統合テストの結果を分析するには、プラットフォームに応じて Android 用ドキュメントまたは iOS 用ドキュメントをご覧ください。
制限事項
テストケースごとにテストのタイミングに関する情報を入手することはできません。つまり、テストケースの長さや各テストケースの動画などは、予期した内容と異なることがあります。
トラブルシューティング
問題が発生した場合は、統合テストの公開バグトラッカーを確認してください。
統合テスト フレームワークに起因する新しい問題が発生した場合は、Creating useful bug reports のガイダンスに沿って、公開バグトラッカーで新しい問題を報告してください。