Amazon Web Services(AWS)が提供しているアプリの試験環境"Device Farm"がどんなものか調査してみました。

やれること

大きく分けて、以下のことができます。
  1. Automated tests
  2. Remote access
  3. AWS CLIによるコマンドラインからの操作

Automated tests

自動試験ツールを使用した試験となります。
なので、自動試験ツールを開始しても、「Remote access」とは異なりUI画面は表示されず、以下のような画面が表示されるのみです。

サポートしている自動試験ツールとしては以下のものがあります。
プラットフォーム自動試験ツール
AndroidAppium Java JUnit
Appium Java TestNG
Appium Python
Calabash
JUnit
Espresso
Robotium
UI Automator
Explorer
Fuzz
iOSAppium Java JUnit
Appium Java TestNG
Appium Python
Calabash
UI Automation
XCTest (including KIF)
XCTest UI
Web AppsAppium Java JUnit
Appium Java TestNG
Appium Python

Remote access

ブラウザ上にエミュレータを表示しているような感じになります。

特徴としては以下の点があげられるかと思います。
概要備考
Google開発者サービスがインストールされているPUSH受信などのエミュレータでは実施できないことができる
TCPレベルのネットワークログが取得できるHTTPレベルの情報は取得できない
ユーザ操作が録画されているScreen Recorderで取得しているのと同じレベル。タッチ箇所も保存しておきたい場合は、開発者向けオプションで「タップを表示」を有効にしておくべき
デバイスの種類が「Automated tests」に比べて少ない(2017.05現在)iOS: 18種類(全てiOS9.X)
Android: 27種類(全てAndroid 5.X以下)(日本メーカー製端末なし、Nexusなしorz)

実機を使用しているので、Google PlayなどのGoogle Mobile Service(GMS)アプリがインストールされています。
予想通りではありますが、全般的にモッサリしています。
特定の端末やAndroidバージョンでしか発生しない問題の再現試験には利用できるかと思いましたが、デバイスの種類が意外に少ないのでそういった用途での使用は難しいかもしれないです。

AWS CLIによるコマンドラインからの操作

コマンドラインから試験のスケジューリングや停止を行うためのコマンドラインインターフェース(CLI)が提供されています。

利用料金

3パターン用意されています(2017.05現在)。出典
料金プラン名称料金プラン概要
従量課金制1デバイス分(※1)につき 0.17 USDで利用可能
無制限のテスト(定額)1デバイスあたり月額 250 USDから定額で利用可能
プライベートデバイス月額 200 USDから専用の物理インスタンスを確保可能。静的な設定をカスタマイズでき、カスタム OS イメージを実行できる

※1 デバイス分:出典
デバイス分とは請求の単位です。デバイス分は、テスト実行のために選択した各デバイスでのアプリケーションとテストのインストール、実行、アンインストールの所要時間(分)を計測したものです。単位料金は、デバイス、テストまたはアプリケーションタイプに関係なく固定されています。デバイス分は、デバイスエラーまたはシステムエラーなしで完了したテストについてのみ請求されます。同様に、リモートアクセスセッションでは、デバイス分は、仕様を満たすデバイスを準備してから、デバイスに配置されているアプリケーションとデータを完全に削除するまでの時間です。
ビジネスニーズに応じて使用量を動的に拡大/縮小できます。上限はなく、初期費用は不要です。

利用制限

2017.05現在、以下の利用制限があるようです(出典
  • アップロードできるアプリのサイズは4GBまで
  • 試験実行時のデバイス数に上限はないが、同時に実行できるデバイス数は5台まで(申請により増加させることが可能)
  • 試験実行スケジュール数は無制限
  • 「Remote accsess」のセッションは最長60分
  • 「Automated tests」のセッションは最長60分。ただし、申請することで150分まで伸ばすことが可能
次回からは、「Automated tests」「Remote access」「AWS CLIによるコマンドラインからの操作」を実際に操作してみたいと思います。

コメントの投稿