BitriseとMagicPodでAndroidアプリもCI & 自動テスト
こんにちは、伊藤(@ito_nozomi)です。
以前、モバイルアプリのCIサービスBitriseと、AIを活用した自動テストサービスMagicPodを使い、クラウドで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」のステップを追加するだけです。
これで再度ビルドを実行し、成功すればビルド結果の「APPS&ARTIFACTS」からapp-debug.apk(デバッグビルド)とapp-release-unsigned.apk(リリースビルド)がダウンロードできます。
MagicPodでAPKファイルを使ってUI自動テストを作成する
続いて、iOSの場合と同様に、先ほどのダウンロードしたAPKファイルを使ってMagicPodでAndroidのUI自動テストを作成します。まずは「ユーザー登録するだけ」「ログインするだけ」などの簡単なもので良いので、テストケースを1つ作成しましょう。
なお、APKファイルはデバッグビルド/リリースビルドどちらのものでも大丈夫です。よく分からなければリリースビルドを使ってください。
BitriseからMagicPodのテストを実行する
続いて、「Android Build」ステップの下に「MagicPod」のステップを追加し(図2)、必要な項目を入力していきます。
- MagicPod API token、Organization name、Project name、Test settings numberはiOSの場合と同様の設定でOKです。
- 「App path」には「$BITRISE_APK_PATH」を指定します。
終わったら修正内容を保存し、再度ビルドを実行します。無事テストが完了すれば、Bitriseのテスト結果メールに加え、MagicPodのテスト結果メールも配信されるはずです。
ビルド&テストの自動開始のタイミングを調整する
最後に、iOSの場合と同様に、ビルド&テストがどのタイミングで開始されるかを調整しておきましょう!