このページでは、MagicPodでテストの一括実行をする方法と、コマンドラインからテストを実行する方法を説明します。
目次
1.画面からのテスト一括実行
MagicPodでは、プロジェクトの全てのテストを一括で実行できます。一括実行を行うには、プロジェクトの画面から「Batch runs」タブを選択して、テスト一括実行ページに移動します。(図1)

図1 テスト一括実行ページ
この画面でターゲットOSとテスト対象アプリを指定し(図2)、「Run new batch」ボタンを押します。

図2 ターゲットOSとテスト対象アプリを指定
するとクラウド環境の場合はクラウド上で、ローカルPC環境の場合はMagicPodDesktopが起動して、テストが始まります。ブラウザ上でページを一度読込すると、batch runの一覧に実行中のテストが追加されているのが確認できます(図3)。

図3 batch runに実行中のテストが追加された様子
その後テストが完了すると「成功/失敗」のステータスや実行時間などをブラウザ上で確認できます(図4)。

図4 一括実行テスト結果
一覧の右側にある「>」リンクをクリックすると、さらにテストごとの結果を確認することができます(図5)。

図5 テストごとの実行結果
右側の「>」リンクをさらにクリックすると、テスト実行の詳細なログを確認できます。テストが失敗していた場合は、図6のようにエラーの内容やエラー時の画面キャプチャも確認できます(図6)。

図6 エラーテストの詳細
テストが完了すると、テスト結果がプロジェクトの全メンバーにメール配信されます。(図7)

図7 テスト結果メール
また、スケジュール実行も可能です。
2.複数種類の端末に対するテスト一括実行 (外部クラウドサービス)
外部クラウドサービスを使っている場合、図8の「端末パターン」を追加ボタンを押すことで、複数種類のバージョン・機種の組み合わせに対し、まとめてテスト一括実行を行う設定を作成できます。

図8 端末パターンの追加
- Remote TestKitの場合、利用した端末の返却処理のために、テスト開始時に10分間の待機処理が発生することがあります。
- デフォルトでは1種類の端末のテストが終わるまで次の端末でのテストは実行されません。BrowserStackやRemote TestKitで複数端末で並列にテストを実行できるプランを契約している場合、MagicPod側で図9のように同時並列数を指定することで、複数種類の端末で並列でテスト実行することができます。

図9 同時並列実行数の指定
3.コマンドラインからのテスト一括実行 (クラウド・外部クラウドサービス)
MagicPodのクラウド端末や外部クラウドサービスを使ったテストの場合、Web API経由で簡単に一括実行することが可能です。
手順としては、テスト一括実行画面でテスト対象を設定した後、図10のように、この設定で実行可能なコマンドをcurl(Mac/Linuxの場合)やInvoke-RestMethod(WindowsのPowerShellの場合)の形式で取得できます。

図10 テスト一括実行コマンドのコピー
Web APIの詳細な仕様は、ユーザーメニューの「APIトークン」>「APIドキュメント」から確認できます。(図11)

図11 Web APIドキュメント
・magicpod-api-client
curlやInvoke-RestMethod形式の場合、一括テスト実行が完了するまで待ってテスト結果をチェックすることができません(テスト結果はMagicPodの画面やテスト結果メールで確認する必要があります)。magicpod-api-clientを使えばこの問題を解消できます。
magicpod-api-clientを使うには、こちらのページから利用するOSに応じて、linux64_magicpod-api-client.zip、mac64_magicpod-api-client.zip、win64_magicpod-api-client.exe.zipのいずれかをダウンロード、解凍し、適当な場所に配置します。
あとは、図10の「magicpod-api-client形式でコピー」の機能を使って、magicpod-api-clientを呼び出すコマンドを簡単に取得できます。