一括テスト実行・コマンドラインテスト実行

Magic Podの使い方 > 一括テスト実行・コマンドラインテスト実行

このページでは、Magic Podでテストの一括実行をする方法と、コマンドラインからテストを実行する方法を説明します。

目次

    1. 画面からのテスト一括実行
    2. 複数種類の端末に対するテスト一括実行 (外部クラウドサービス)
    3. コマンドラインからのテスト一括実行 (クラウド・外部クラウドサービス)
    4. コマンドラインからのテスト一括実行 (ローカルPC)

画面からのテスト一括実行

Magic Podでは、プロジェクトの全てのテストを一括で実行できます。一括実行を行うには、プロジェクトの画面から「Batch runs」タブを選択して、テスト一括実行ページに移動します。(図1)

テスト一括実行ページ

図1 テスト一括実行ページ

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

ターゲットOSとテスト対象アプリを指定

図2 ターゲットOSとテスト対象アプリを指定

するとクラウド環境の場合はクラウド上で、ローカルPC環境の場合はMagic Pod Desktopが起動して、テストが始まります。ブラウザ上でページを一度読込すると、batch runの一覧に実行中のテストが追加されているのが確認できます(図3)。

batch runに実行中のテストが追加された様子

図3 batch runに実行中のテストが追加された様子

その後テストが完了すると「成功/失敗」のステータスや実行時間などをブラウザ上で確認できます(図4)。

一括実行テスト結果

図4 一括実行テスト結果

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

テストごとの実行結果

図5 テストごとの実行結果

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

エラーテストの詳細

図6 エラーテストの詳細

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

テスト結果メール

図7 テスト結果メール

複数種類の端末に対するテスト一括実行 (外部クラウドサービス)

BrowserStackRemote TestKitを使っている場合、図8のように「バージョン」「機種」をカンマ区切りで指定することで、複数種類のバージョン・機種の組み合わせに対し、まとめてテスト一括実行を行えます。

図8 複数種類端末の指定

図8の場合、「Android 8.1.0のNexus 5」と「Android 8.0.0のNexus 5X」の2種類に対し、それぞれテスト一括実行が行われます。

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

図9 同時並列実行数の指定

コマンドラインからのテスト一括実行 (クラウド・外部クラウドサービス)

Magic Podのクラウド端末や外部クラウドサービスを使ったテストの場合、Web API経由で簡単に一括実行することが可能です。

手順としては、テスト一括実行画面でテスト対象を設定した後、図10のように、この設定で実行可能なコマンドをcurl(Mac/Linuxの場合)またはInvoke-RestMethod(WindowsのPowerShellの場合)形式で取得できます。

テスト一括実行コマンドのコピー

図10 テスト一括実行コマンドのコピー

Web APIの詳細な仕様は、ユーザーメニューの「APIトークン」>「APIドキュメント」から確認できます。(図11)

Web APIドキュメント

図11 Web APIドキュメント

コマンドラインからのテスト一括実行 (ローカルPC)

ローカルPC環境の場合、テストの一括実行は、MacのコマンドラインからMagic Pod Desktopを使って行います。

設定ファイルを記述

まずは、テストのコマンドライン実行に必要な設定ファイルの記述を行います。

Magic Pod Desktopを一度でも起動していれば、ディレクトリ「/Users/<ユーザー名>/Library/Application Support/magic_pod_desktop」に「magic_pod_config.json」というファイルがあるはずなので(これがMagic Pod Desktopが利用している設定ファイルです)、これをデスクトップなど適当な場所にコピーします。

コピーしたら、図12の形式に従い設定ファイルをJSON形式で記述します。

設定ファイル内では、${HOME}のようにして環境変数の値を参照することができます。

以上を踏まえると、設定の記述は、例えば図13のようになります。

テストを実行

設定ファイルを作成したら、以下の手順でテストを実行します。

  1. Magic Pod Desktopが起動している場合は終了しておきます。
  2. Macのターミナル上でMagic Pod Desktopのあるディレクトリに移動します。
  3. 次のコマンドを実行します。
  4. magic_pod_config.jsonの設定に従い、テストが実行されます。テストが成功した場合はプロセスの返り値は0、失敗した場合は1、異常終了した場合は-1になります。

magic_pod_config.jsonをコピーすれば、他のMac PCでも同様にしてコマンドライン実行が可能です。

ただし、認証情報だけではmagic_pod_config.jsonに保存されていないので、一度Magic Pod Desktopを起動してメールアドレスとパスワードを入力し、認証情報をPCに保存しておく必要があります。