🧑‍💻

#156 AWS Device Farmを使ってみる①

に公開

はじめに

Webサイトやモバイルアプリを開発するうえで、「端末やブラウザの違いによる表示崩れ」や「特定環境でのバグ」 に悩まされたことはありませんか?特にApple製品に搭載されるSafariは、独自のレンダリング挙動があるため、iPhoneやMacでの検証は欠かせません。しかし、自前で複数のデバイスやOS環境をそろえるのは現実的ではありません。そんなときに役立つのがAWSが提供するDevice Farmです。本記事では、AWS Device Farmについて紹介したいと思います。

AWS Device Farmとは

AWS Device Farmは、Amazon Web Services(AWS)が提供するクラウドベースの実機テストサービスです。モバイルアプリやWebアプリを、実際のスマートフォン、タブレット、またはPCブラウザ上でテストできます。

【主な機能】

  • 実機テスト環境の提供(Android/iOS、Windows/macOS)
  • アプリの自動テスト・手動テスト対応
  • ブラウザを使ったWebサイトテスト(Safari含む)
  • UIの挙動、クラッシュ、ログ取得、ネットワーク状況の可視化
  • CI/CDとの連携も可能

AWSが管理する最新の物理デバイスやブラウザ環境にリモートアクセスすることで、複数の環境で同時に検証できる点が最大の特徴です。

ユースケース

AWS Device Farmは以下のような用途に向いています。

  1. モバイルアプリの互換性テスト
    Android/iOSそれぞれ複数の端末での動作確認が必要な場合、Device Farmで主要モデルをカバーできます。

  2. UIの手動検証
    手元にない端末を使ってUIを目視でチェックしたいとき、Device Farmから実機にリモート接続し、自由に操作可能です。

  3. Webサイトのクロスブラウザテスト
    Safari、Chrome、Firefox、Edgeなどのブラウザを指定して、同じURLをさまざまな環境でテストできます。

  4. 自動化されたテストの実行
    AppiumやSeleniumと連携して、定期的に回帰テストを回したい場合に最適です。

Device FarmでiPhone 16e Safari環境を作ってみる

Device Farm > Desktop Browser Testing >Projectsから[Create desktop project]をクリックします。[Project Name]を入力し[Create]をクリックするとプロジェクトが作成されます。

aws-device-farm-1

aws-device-farm-2

作成されたプロジェクト>Remote Access >Create remote access sessionをクリックし、以下のように構築したいデバイスを選択します。今回は[Apple iPhone 16e]をAWS上に構築し、Safariを利用してYahooJapanのページを表示させてみたいと思います。

aws-device-farm-3

構築したいデバイスを選択し、[Confirm and start session]をクリックすると以下のようにデバイスの環境の構築が始まります。

aws-device-farm-4

これで環境のセットアップは完了です。セットアップまで数分かかるようなので気長に待ちましょう!セットアップが完了すると以下のようにiPhone 16eの画面が表示されます。

aws-device-farm-5

作成されたiPhone 16eの画面からSafariを選択しYahoo Japanを開いてみると無事ページを確認することができました。

aws-device-farm-6

上記の画像の右側にあるように、アプリケーションもインストールすることが可能でWebページだけではなくモバイルのアプリのテスト環境も構築できます。

まとめ

AWS Device Farmは、複雑化するブラウザ・端末環境において非常に強力なテストプラットフォームです。実際、iPhone 16eのテスト環境を立ち上げるのに5分もかからず、驚くほど手軽にSafariでの動作確認ができました。特に、Mac環境が必要なSafariのようなブラウザでも、物理端末を用意せずにWeb上で安全・高速にテストできる点は、Web開発者にとって大きなメリットです。自前で多様なデバイスをそろえる必要がなく、コスト面・管理面でも非常に効率的です。今回は、Device Farmを利用してiPhone 16e環境を構築して試してみただけですが、次回はより詳細な機能(テストの自動化やレポート出力、複数ブラウザ間の比較など)を実際に試してみたいと思います。初回利用には無料枠も用意されているので、まずは色々触ってみて知見を深めていきたいと思います。

参考

Device Farm の開始

Discussion