Help us understand the problem. What is going on with this article?

AWS Device FarmでWebRTC(SkyWay)のテストをしよう

AWS Device FarmでWebRTC(SkyWay)のテストをしよう

by jumbOrNot
1 / 13

AWS Device Farm

AWS Device Farmはクラウドでモバイル端末をエミュレートできる仕組みです。


できること

  1. iOS/Android端末がクラウド上で動かせる
  2. 2019/11/05時点で利用可能なデバイスは266種類
  3. 「AutomatedTest」と「RemoteAccess」が可能(後述
  4. テスト後に動画やログを自動で保存してくれているのでDLできる

Hueweiが結構WebRTCで問題が起きているのでこの種類がないのが個人的にはネック・・・


AutomatedTest

ios/android共にE2Eテストやモンキーテストを実行できます。
スクリーンショット 2019-11-06 10.06.11.png
スクリーンショット 2019-11-06 10.06.19.png
スクリーンショット 2019-11-06 10.06.31.png


テストケース

様々なテストケースの準備ができます。

スクリーンショット 2019-11-06 10.07.10.png

中でも準備がいらないものとしてFuzzTestがあります。モンキーテストに相当するものなので、かなりシンプルですが使えるユースケースは多いと思います。

Testing mobile apps with Cucumber and Appium through TestNG on AWS Device Farmとかを見ると、上記の写真にもある通りAppium/Calabashでもテストケースが欠けるので細かい手順も実行できます。


Remote Access

スクリーンショット 2019-11-06 10.13.54.png

こちらは本当にブラウザ上でapk/ipaのアップロードをして端末に入れてそれをポチポチ動かせるような仕組みですね。


WebRTCは動くの?

結論動く。
特に準備もいりません、うごくapk上げるだけ。
エミュレーターだとダミー映像が出るかと思いますが、DeviceFarmでは真っ黒の映像が出ます。
カメラはアクティブにはなっているようですが、設置環境によって映像が黒くなっているようです。キャリアやSMSは動かないので、ある程度基本的な動作を確認するに限定されるかと思います。

スクリーンショット 2019-11-05 23.52.26.png


コスト

0.17USD/デバイス分

です。1分を1デバイスで = 1デバイス分なので、1つのリモートアクセスで5分使ったとすると85円くらいですかね?例えばAutmatedTestを複数デバイスで動かした場合はそのデバイス分のコストがかかります。

最初の1000分までは無料のため、ぜひ試してください。10分もあれば動きを確認できるかと思います。


プライベートデバイス

こういう概念があり、理由としてはCircleCIのようにインスタンスがリザーブされ続けているわけじゃないので混んでいる時間には待ち時間が発生します。私が検証している時に長時間待つようなことはなかったのですが、将来的には利用を検討すべきかと思います。
コストは 200 USD/月 とまぁまぁ高いので、それなら端末買ったほうがよくない???とも思いますが、現在はCodePipelineと連携してCIのプロセスとも連携できるので、本格的なE2Eをデプロイメントパイプラインの中に内包したいのであればかなり有効かなと感じます。


エミュレーション

  • GPS
  • 他アプリのインストール
  • Wifi/Bluetooth/GPS/NFC

などがエミュレートできる。GPSとか地味に地図系のアプリとかだと重要だと思うし、他アプリのインストールも複数アプリで連携するようなケースでは有用ですね。


fastlaneと連携

awsのプラグインがあるので、CircleCIやJenkins経由での実行のプロセスに載せることもできる。

http://fushiroyama.hatenablog.com/entry/2019/09/09/010446


まとめ

  • デバイスごとに挙動の違うWebRTCのE2Eをデバイス*OSを並列・包括的に実行できる
  • skywayもちゃんと動くことを確認できた
  • 相手の映像は見れないのでp2pやsfuの接続のチェックなどのみ、カメラは真っ黒だが生きておりマイクはない
  • プラグインがあるので既存のデプロイメントプロスに載せてE2Eが実施可能

参考

https://www.slideshare.net/keisuke69/automated-testing-on-aws-device-farm

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした