Remote TestKitは、クラウド上で様々な実機端末を利用できるWebサービスで、日本国内で出回っている端末が豊富に揃っています。ただし、様々なエラーや利用制約により、毎日自動テストを流した場合に安定した結果を得ることが難しいため、利用は積極的にお勧めしていません。(手動テストに使う分には問題ないようです。)
対応機種・OSバージョン
こちらで確認できます。日本国内で出回っている非常に多くの種類の端末が利用できます。ただし、各種類ごとにスタンバイしている台数はそれほど多くないので、他のユーザーが借りていてテストできないことがあります。
利用方法
最初に、Remote TestKitの相談フォームからトライアルアカウントを申し込みます。(図1)
トライアルアカウントが発行されたら、テスト一括実行の画面で、図2のように必要な項目を入力します。
[1] アクセストークン
Remote TestKitソフトウェア版をダウンロードし、「メニュー」ボタンの「アクセストークン設定」(図3)で表示されたアクセストークンをコピーします。
Android/iOSの両方に対応しています。
[3] OSバージョン・デバイス名
ログインページからRemote TestKitのサイトにログインすると、端末一覧に利用可能な端末が表示されています。使いたい端末の機種名・OSバージョン(図4)をMagicPodの画面に入力してください。
- レンタル処理は自動で行われるので、Remote TestKitのページでレンタルを行う必要はありません。
- 自分が自動テストで現在使用中の端末は「貸し出し中」と表示されます。
- トライアル版では利用可能な端末の種類が制限されています。
- 機種名・OSバージョンは、部分一致で指定することも可能です。詳細は、Appium連携のチュートリアルの「端末指定」の項目を参照してください。Androidの機種名・OSバージョンを指定する際は、既知の問題に注意してください。
[4] ターゲットタイプ
Androidの場合、手元にあるAPKファイルをテストしたい場合、「APKファイル (クラウドアップロード)」を選んで、APKファイルをクラウドにアップロードしてください。
DeployGateやTestFlightを使っていて、特定のURLから直接APKファイルをダウンロードしたい場合は、「APKファイル (URL指定)」を選んでください。
iOSのIPAファイルの場合も同様です。
コマンドライン実行
こちらの方法で、コマンドラインからもテスト一括実行が可能です。
複数種類の端末に対するテスト一括実行
こちらの方法で、複数種類の端末に対するテスト一括実行が可能です。
Remote TestKitの既知の問題
Remote TestKit上でテストを実行すると、端末やデータセンターの設定の問題で次のようなエラーが起きることがあります。
-
- The environment you requested was unavailable
- Failed to connect to /127.0.0.1:39503
- Could not install '/var/folders/0f/tvv_rcb90_xg96dfpk5dphvh0000gn/T/2023121-34136-1eif3ev.mjhp/********.app
- Could not find a connected Android device in 20055ms
- Unable to launch WebDriverAgent because of xcodebuild failure: xcodebuild failed with code 65
これ以外に追加のエラー情報が何もない場合、Remote TestKit環境側の問題である可能性が高いため、MagicPodサポートまたはRemote TestKitのサポートにお問い合わせください。
Remote TestKit Enterprise (On-Premises Plan)の場合の利用方法
Remote TestKit Enterprise (On-Premises Plan)の場合は利用方法が若干異なります。
[1] クラウドサービス名
Remote TestKit(オンプレミス)を選んでください
[2] 認証情報
Remote TestKit Enterprise(On-Premises Plan)ではアクセストークンが現状は利用不可であるため、AppiumのサーバーURL、ユーザ名及びパスワードを入力する必要があります。また、Remote TestKit Enterpriseの場合、MagicPod側(IP: 52.196.146.190)からアクセス可能なAppiumサーバを予め用意する必要があります(そのURLを「サーバーURL」に指定します)。