Firebase コンソールから Firebase Test Lab を使ってみる

Firebase Test Lab を使用すると、複数のデバイスで Firebase コンソールから直接 iOS アプリをテストできます。ご利用方法については、こちらをお読みください。

Firebase プロジェクトを作成する

アプリの Firebase プロジェクトがない場合は、Firebase コンソールで [新しいプロジェクト] をクリックし、プロジェクトを作成します。テストを実行するには、プロジェクトの所有権または編集権限が必要です。

Spark プランと Flame プランをご利用の場合、Test Lab で 1 日あたり限られた数のテストを実施できます。毎日の割り当て制限なしで Test Lab を使用するには、Firebase Blaze プランにアップグレードする必要があります。

アプリの XCtest をビルドする

Test Lab と互換性のある形式で iOS テストをビルドするには、次の 3 点を行うことが必要です。

プロジェクトの Derived Data の場所を構成する

Xcode は、ビルドしたテストを含むコンパイル済み iOS アーティファクトを Derived Data ディレクトリに配置します。このディレクトリの場所は、デフォルト設定を維持できますが、Test Lab でテストを頻繁に実行する場合は、アクセスしやすい場所を選択すると便利です。

  1. Xcode でプロジェクトを開きます。
  2. macOS のメニューバーで、[File] > [Project Settings...] を選択します。
  3. [Derived Data] プルダウンを [Default Location] から [Custom Location] に変更します。
  4. プルダウンの下のフィールドで、Xcode がテストを出力する場所を選択します。

汎用的なテストファイルをビルドする

Test Lab は、XCTest フレームワークを使用して単体テストと UI テストを実施します。Test Lab デバイスでアプリの XCTest を実施するには、汎用 iOS デバイスでのテスト用に XCTest をビルドします。

  1. Xcode ワークスペース ウィンドウの上部にあるデバイスのプルダウンから、[Generic iOS Device] を選択します。
  2. macOS のメニューバーで、[Product] > [Build For] > [Testing] を選択します。

アップロード用にテストファイルを圧縮する

最後に、ビルドしたテストファイルを .zip ファイルに圧縮して、Test Lab へのアップロード用にテストをパッケージ化します。

  1. Finder を開き、Derived Data の出力先に指定したディレクトリに移動します。
  2. プロジェクトのフォルダを開き、その中の Build/Products フォルダを開きます。
  3. Debug-iphoneos フォルダと PROJECT_NAME_iphoneosDEVELOPMENT_TARGET-arm64.xctestrun が表示されます。その両方を選択し、いずれかを右クリックして [2 項目を圧縮] を選択します。

次のように、USB 接続デバイスを使用してローカルで実行することにより、Test Lab がアプリとテストをインストールできることを確認できます。

xcodebuild test-without-building \
    -xctestrun "Derived Data/Build/Products/YourApp.xctestrun" \
    -destination id=your-phone-id

テストを実施する

XCTest の .zip ファイルが用意できたら、テストを開始する準備が整いました。

  1. Firebase コンソールで Test Lab を開きます。
  2. 初めてのテストの場合は、[iOS] の下で [使ってみる] をクリックします。初めてのテストでない場合は、[テストを実行] をクリックし、[XCTest の実行] を選択します。
  3. [参照] をクリックし、作成した .zip ファイルを探します。
  4. テストを実施する各デバイス、バージョン、方向、ロケールのチェックボックスをオンにします。
  5. [テストを開始] をクリックします。

テスト結果を調査する

テストが開始されると、テスト結果ページに自動的にリダイレクトされます。選択された異なる設定の数と、テストに対して設定されたテスト タイムアウト時間によっては、テストの実行に数分かかることがあります。テストが完了すると、テスト結果を確認できます。テスト結果の見方については、Firebase Test Lab の結果の分析をご覧ください。