1
/
5

CodeceptJSでDeviceFarmのモバイルテストをしてみた

Photo by Frances Gunn on Unsplash

CodeceptJSを使って、AWS Device Farmで用意されているモバイル実機のe2eテストを試みました。
BrowserStackでのe2eテストと違い、
1. ほとんど事例が無い
2. CodeceptJSサイトの資料はBrowserStackを利用した場合の方法についてのみ
3. テストプロジェクトをパッケージングして、稼働自体はAWS上で行う
といった点でBrowserStackのようには簡単にはいきませんでした。
実行環境がクラウドで提供されているBrowserStackに対して、外部からパッケージをインストールして実行そのものはクラウドで行うAWS DeviceFarmといった違いです。
このような違いから、手元のテスト実行ツールでe2eテストを行って、結果確認をするBrowserStack、テストパッケージをアップロードしてテスト実行から結果確認までをAWSコンソールで行うDevice Farmといった違いがありました。
CodeceptJSは、テストで使えるメソッドが予めバンドルされていて使うだけといったメリットが大きいのですが、結果的にDeviceFarm上では動かないメソッドも散見され、JavaScript Executerのコードをゴリゴリ記述することになってしまい、CodeceptJSのメリットが半減した感があります。
ただ、両者では提供されているデバイスに微妙な違いがあったり、利用料金の違いもあるので、適宜、選択して利用する事になろうかと思います。もちろん、両者ともリモートで手動によるテストも可能です。
組込み機器をローカルネットワーク下でのみテストする場合、VPNで分離されている場合、セキュリティの面など、クラウドデバイスをテストで使うには制約もあるのですが、実機の管理面やWindowsでもiOSの自動テストができたり(MacでAndroidも可)、利用価値は大きいと考えます。