はじめに
新規実装した画面のUIをさまざまなデバイスでちょっと確認したいとか一部のデバイスでのみ発生するバグの再現確認をしたいという場合がWebアプリケーションの開発を行っているとたびたびあります。
AWS Device Farmのリモートアクセスを利用することで比較的簡単にさまざまなデバイス/OSで画面や挙動を確認することができたので、方法をまとめます。
AWS Device Farmとは
下記の公式の説明にあるようにAWSのクラウドを通じて、実機のiOS/ Androidの端末にアクセスできるサービスです。
2021年現在は、us-west-2 (オレゴン) リージョンでのみ利用できるようです。
Device Farm は、実際に Amazon Web Services (AWS) によりホストされている電話やタブレットで、Android や iOS、およびウェブアプリを物理的にテストしてやり取りできるアプリテストサービスです。
手順
1 AWSコンソールにログインし、AWS Device Farmのサービスを開きます
2 下記のような画面が表示されるので"Create a new project"をクリックします
3 ダイアログにプロジェクト名を入力して、"Create project"をクリックします
4 プロジェクトの中で、"Remote Access"のタブを選択します
5 "Start a new session"をクリックすると、デバイスの選択画面が表示されます
6 リモートアクセスを行いたいデバイスを選択し、"Confirm and start session"をクリックすると対象のデバイスへのアクセスが開始されます(この時点から課金対象となります)
7 操作後は、"Stop session"をクリックします(ここで課金がストップします)
8 操作時のlogやVideoなどを完了後の画面で取得することができます
注意点
- クリップボードの共有はできないのでwebのURLなどは手打ちで入力が必要です
- iOS/AndroidのNativeアプリをダウンロードする場合は別途ダウンロードする作業が必要です
- 専用デバイスを利用しない場合、混雑状況によってはすぐに利用できないことがあります
- 操作時のVideoが自動で録画されるので個人情報などの入力はしないほうが良いです
料金
プランとしては、2021年現在では下記の3種類あるようです。
- 従量課金 0.17USD/デバイス分
- 月額250.00USDで使いたい放題
- 月額200USD~でアカウント専用にデプロイされた専用デバイスを利用
従量課金の場合は最初に1000分の無料アクセス枠があるので、まずは従量課金で自分のプロジェクトに合うかどうかを試してみてから利用するかどうかを決めると良いと思います。
社内のファイアウォールの内側にテスト対象のアプリケーションが存在する場合
54.244.50.32–54.244.50.63 および 99.78.197.0/29 の IP アドレスがAWS Device Farmでは利用されているようです。
これらのIPアドレスからのリクエストを許可することで社内ファイアフォールに構築されたアプリケーションに対してもAWS Device Farmが利用できそうです。(ファイアウォールの内側へのアクセスは当方、未検証なので、ご指摘あればご連絡ください。)
参考:AWS Device Farm の IP アドレスの範囲を教えてください
最後に
スマートフォンはOSもデバイスも進化が激しく、全てのデバイスを自社で保持しておくのが困難なのでこのように簡単にさまざまなデバイスでの実機検証ができて便利だなと思いました。
今回は簡単に触ってみることのできるリモートアクセスについてのみ記事をまとめましたが、CIツールと組み合わせた自動テストなどで本領を発揮すると思うので、そちらについてもまたタイミングをみてまとめようと思います。
それでは、素敵な開発ライフを。