引き続きMagicPodのモバイルアプリテスト版の基本的なテスト作成方法を説明します。
1.日次ビルド+一括テスト実行スケジュール設定
テストをいくつか作成できたら、毎日ビルド+一括テスト実行できるようスケジュールを組んでメールまたはSlackへ結果通知できるよう設定しましょう。
1−1.MagicPod一括実行設定の作成
まずはMagicPodで一括実行するための設定をします。
設定したいプロジェクトの「テスト一括実行」タブ内にある「詳細」をクリックします。
左上の「設定名」より、既存の設定を選択するか、新しい設定を追加してください。
環境を「クラウド」、アプリ種別を「クラウドアップロード」※1 にします。
1−2.テスト結果メール通知の設定
メール通知は「共通設定」から「テスト結果をメール通知」を「する」にします。(デフォルトで通知するようになっています)
1−3.テスト結果Slack通知の設定
Slack通知は「共通設定」から「テスト結果をSlack通知」を「する」にすると、「追加」が表示されるのでそれをクリックします。
ポップアップが出てきたら任意の名前を入力し、「Slack連携」をクリックします。
通知を飛ばしたいチャンネルを選択し、「許可する」をクリックします。
成功/失敗/要確認/中止で通知の可否を設定する方法はテスト結果を通知するを参照してください。
1-4.テストのスケジュール実行設定(Bitriseの場合)
まずAppファイルの作成方法-1.Bitriseを使う場合の手順に従い、ソースコードからAppファイルを作成するBitriseのビルド設定を作成します。
1-4-1.BitriseのビルドからMagicPodを実行する
BitriseとMagicPodを連携させます。BitriseのWorkflow Editorを開きます。
「Xcode build for simulator」ステップの下の「+」ボタンを押し、
「MagicPod」のステップを検索して追加します。
追加できたら、各項目の「Enter value」を押して設定しましょう。
- MagicPod API token
- 「Key」に「MAGIC_POD_API_TOKEN」、「Value」にMagicPodのAPIトークンページからコピーした値をセットし「Add new」を押します。
- Organization name
- MagicPodで使っている組織名を指定します。(「表示名」ではなく、組織のURLに使われているアルファベットの名前なので注意してください。)
- Project name
- MagicPodで使っているプロジェクト名を指定します。(「表示名」ではなく、プロジェクトのURLに使われているアルファベットの名前なので注意してください。)
- Test settings number
- 1−1.MagicPod一括実行設定の作成にて作成した設定の番号を指定します。
他にも色々とパラメータがありますが、あとは初期値のままでも動きます※2。これで、BitriseでビルドしたアプリがMagicPod側にもアップロードされ、CIのタイミングでテストが実行されるようになります。
終わったら修正内容を保存し、
ビルド画面へ移動し、
再度ビルドを実行します。
無事テストが完了すれば、
Bitriseのテスト結果メールに加え、
MagicPodのテスト結果メールも配信されるはずです。
なお、設定を調整すれば、以下のようなテストも可能です。
- アップロードしたアプリに対し、複数の端末パターンでテストを並列実行
- アップロードするアプリをappファイルからIPAファイルに変更し、SauceLabs/BrowserStackなどの外部クラウドサービス上でビルドしたアプリの実機テスト
1-4-2.Bitriseのビルドを定期的に実行する
Bitriseビルド画面右上の「Start/Schedule a Build」を押します。
ビルド構成のポップアップウィンドウが出てくるので、「Schedule this Build」のスイッチを有効にします。
ビルドしたい時間、曜日、Branchを指定し、先ほど作ったWorkflowを選択したら「Start Build」を押します。
これでビルドのスケジュール設定が完了しました。
1-4-3.レポジトリへのPushやPull Requestのたびにビルドを実行する
初期設定のところでWebhookを設定した場合、GitレポジトリへのPushまたはPull Requestがあったタイミングで自動的にビルドが行われます。このタイミングは、以下の方法で調整が可能です。
- Workflow EditorのTriggersタブから、Push、Pull Requestなどのビルド開始のタイミングを調整できます※3 。
- ビルド結果は自動的にGitHubなどの画面に連携され、PushやPull Requestに対するビルド結果を簡単に確認できます。
- Pushに対するビルド結果の表示
- Pull Requestに対するビルド結果の表示
1-5.テストのスケジュール実行設定(CircleCIの場合)
CircleCIでもMagicPodと連携して、ビルドとテスト実行をスケジュール設定できます。
詳しい設定方法は以下を参照してください。
2.使いこなすための機能紹介
すべてのコマンドを知りたい方は→コマンド一覧
導入初期によくある質問や操作のコツは導入初期に役立つTips(モバイルアプリ)で紹介しています。
- スクロールが必要な画面の操作方法
- Emailのテスト
- WebViewのテストについて
- 共有ステップの活用 作成数の上限なし
- 変数の活用
- 条件分岐の活用
- 画像差分チェック
- 自動テストを簡単にするためのアプリ実装の工夫
- 特定のテストケースのみを一括実行したい
- モバイルアプリテストのよくある質問
※注釈・出典
- テスト対象アプリはBitriseからアップロードしたものが利用されるため、一括実行の設定画面では何を設定しておいても構いません。
- 設定を変えれば、テスト完了まで待機するかや、テスト終了後にMagicPodにアップロードしたアプリを削除するかなどを選べます。
- ビルドのトリガー
次は各種設定するための画面、用語を説明します。