BitriseとMagic PodでAndroidアプリもCI & 自動テスト

2020/01/17

こんにちは、伊藤(@ito_nozomi)です。

以前、モバイルアプリのCIサービスBitriseと、AIを活用した自動テストサービスMagic Podを使い、クラウドでiOSアプリのCIとUI自動テストを行う方法を紹介しました。今日は、同じことをAndroidアプリに対して行う方法を紹介します。

Bitriseのセットアップ

最初のBitriseのセットアップ手順はiOSの場合とほとんど同じです。Bitriseにユーザー登録をし、初回セットアップを行いましょう。初回セットアップは、以下の点がiOSと異なります。

  • Gitレポジトリには、テストしたいAndroidアプリのソースコードレポジトリを指定してください。
  • 「Specify Module」はモジュールのディレクトリを、「Specify Variant」はアプリのバリアントを指定します。よく分からなければ、Bitriseが検出したデフォルトの値のままで良いでしょう。
  • iOSの場合のように、途中でエラーメッセージは出ないはずです。

BitriseでAPKファイルをビルドする

初回セットアップが終わると初めてのビルドが自動的に実行され、成功するはずです。初回セットアップで作られた設定ではAndroid Lint(ソースコードの構文チェック)とAndroid Unit Test(ユニットテストがレポジトリにあれば実行)が行われるようになっていますが、続いてこれにアプリの実体であるAPKファイルのビルド設定を追加します。手順は簡単で、「Android Build」のステップを追加するだけです。

図1 「Android Build」ステップの追加

これで再度ビルドを実行し、成功すればビルド結果の「APPS&ARTIFACTS」からapp-debug.apk(デバッグビルド)とapp-release-unsigned.apk(リリースビルド)がダウンロードできます。

Magic PodでAPKファイルを使ってUI自動テストを作成する

続いて、iOSの場合と同様に、先ほどのダウンロードしたAPKファイルを使ってMagic PodでAndroidのUI自動テストを作成します。まずは「ユーザー登録するだけ」「ログインするだけ」などの簡単なもので良いので、テストケースを1つ作成しましょう。

なお、APKファイルはデバッグビルド/リリースビルドどちらのものでも大丈夫です。よく分からなければリリースビルドを使ってください。

BitriseからMagic Podのテストを実行する

続いて、「Android Build」ステップの下に「Magic Pod UI Test」のステップを追加し(図2)、必要な項目を入力していきます。

図2 「Magic Pod UI test」ステップの追加
  • Magic Pod API token、Organization name、Project nameはiOSの場合と同様の設定でOKです。
  • さらに、各設定を以下のように指定します。(図3)
    • 「Environment」を「Magic Pod」
    • 「OS」を「android」
    • 「Device Type」を「Emulator」
    • 「Version」を「10」
    • 「Model」を「Nexus 5X」
    • 「App type」を「App file (cloud upload)」
    • 「App path」を「$BITRISE_APK_PATH」
図3 「Magic Pod UI Test」の設定

終わったら修正内容を保存し、再度ビルドを実行します。無事テストが完了すれば、Bitriseのテスト結果メールに加え、Magic Podのテスト結果メールも配信されるはずです。

ビルド&テストの自動開始のタイミングを調整する

再度に、iOSの場合と同様に、ビルド&テストがどのタイミングで開始されるかを調整しておきましょう!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です