Magic Podの使い方 > CircleCIとの連携(モバイルアプリテスト)
CircleCIでビルドした.appファイル(iOS)または.apkファイル(Android)を使ってMagic Pod上でテストを実行するには、magic-pod-api-clientを使い、以下の手順でクラウド端末または外部クラウドサービス端末を使ってテストを実行するのが簡単です。
(クラウドを使用せずにCircleCIのマシン上のシミュレータやエミュレータを使ってテストを行う場合は、ローカルPCでのテスト一括実行の設定を参考にしてください)
run_magic_pod_test.shを作成
まずは、magic-pod-api-clientを使ってテストを実行するrun_magic_pod_test.shを以下の内容で作成します。1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
#!/bin/bash -e # (-eで、コマンドがエラーになった行で処理を終了させる) # magic-pod-apiクライアントを現在のディレクトリにダウンロード・解凍 RELEASE_VERSION=0.65.0.1 # 利用するmagic-pod-api-clientのバージョン OS=linux # macマシン上でのビルドの場合はmacを指定 curl -L -O https://github.com/Magic-Pod/magic-pod-api-client/releases/download/${RELEASE_VERSION}/${OS}64_magic-pod-api-client.zip unzip -fq ${OS}64_magic-pod-api-client.zip # Magic Podで使う各種環境変数を設定。 # セキュリティのため、MAGIC_POD_API_TOKENはCircleCIの環境変数で設定 export MAGIC_POD_ORGANIZATION=MagicPod組織名 export MAGIC_POD_PROJECT=MagicPodプロジェクト名 # app/ipa/apkファイルをMagic Podにアップロードして、FILE_NOを取得 FILE_NO=$(./magic-pod-api-client upload-app -a アプリファイルへのパス) # 先ほどアップロードしたアプリと、設定番号の設定を使ってテスト一括実行 ./magic-pod-api-client batch-run -S 設定番号 -s "{\"app_file_number\":\"${FILE_NO}\"}" # テストが成功した場合はアップロードしたアプリは削除(任意) if [ $? = 0 ]; then ./magic-pod-api-client delete-app -a ${FILE_NO} fi |
- magic-pod-api-clientをテストのたびにダウンロードしていますが、こちらから、あらかじめ最新のmagic-pod-api-clientを取得し、CircleCIのビルドが利用するGitレポジトリに追加しておく方法もあります。
- CircleCIのプロジェクト環境設定などで、環境変数MAGIC_POD_API_TOKENを定義しておきます。トークンの値は、Magic Podにログイン後こちらのページから取得できます。
- テスト一括実行時の「設定番号」は、「テスト一括実行」ページで設定を作成した上で、その番号を指定します(図1)。また、アップロードされたアプリファイルを使ってテストを実行するため、「アプリ種別」は「クラウドアップロード」にします(図1)。

CircleCI設定ファイルの編集
続いて、run_magic_pod_test.shを実行するCircleCIのジョブを追加します。ジョブ設定は以下のようになります。
1 2 3 4 5 6 7 |
magic-pod-e2e-test: steps: # checkoutやアプリのビルドなど、必要な処理を実施 # ... 中略 .... - run: name: Magic Pod E2Eテスト command: bash run_magic_pod_test.sh |
- リリースブランチのライフサイクル管理を Zapier で自動化するを参考にしました。 [↩]