⛓️
BrowserStackとCodeceptJSを連携し、複数ブラウザでE2Eテストを並列実行する方法
BrowserStackとCodeceptJSを連携して、複数のプラットフォームにてE2Eテストを並列実行する方法を紹介します。
使用するサービス、ライブラリ
BroserStack
ブラウザ上から、各種デスクトップ・モバイル端末の実機を操作し、手動・自動テストができるテストツールです。
CodeceptJS
Node.jsで動作するE2Eテストフレームワークです。
詳しくは、以下の記事にて紹介してくれています!
サンプルプロジェクトをクローンする
git clone -b sdk https://github.com/browserstack/codecept-js-browserstack.git
cd codecept-js-browserstack
npm install
設定ファイルを変更する
以下の環境にてテストするようにbrowserstack.yml
の内容を変更します。
OS | ブラウザ | バージョン |
---|---|---|
macOS | Chrome | latest |
Windows | Chrome | latest |
Android | Chrome | 12.0(OSのバージョン) |
ユーザー名とアクセスキーは、BrowserStackのダッシュボードにある「ACCESS KEY」から参照できます。
parallelsPerPlatform
の設定値も3
に設定しておきます。
browserstack.yml
userName: {ユーザー名}
accessKey: {アクセスキー}
platforms:
- os: OS X
osVersion: Big Sur
browserName: Chrome
browserVersion: latest
- os: Windows
osVersion: 10
browserName: Chrome
browserVersion: latest
- deviceName: Samsung Galaxy S22 Ultra
browserName: chrome
osVersion: 12.0
parallelsPerPlatform: 3 # 並列実行数
browserstackLocal: true
buildName: browserstack-build-1
projectName: BrowserStack Sample
debug: false
networkLogs: false
consoleLogs: errors
テストコードの実行
設定が終わったら、あとはテストコードを実行するだけです。
npm run sample-test
実行結果の確認
大体40秒ほどで全てのテストが完了しました。
実行結果は、ダッシュボードから確認することができます。
指定したOS、ブラウザで実行されていることがわかります。
テスト内容も動画で確認することができます。
ログも確認することができ、動作ログだけでなく、ネットワークログやコンソールログも確認することができます。
まとめ
スマートフォンでの実機検証となると、デバイスやOSのバージョン管理が大変になります。
テストのために大量のスマートフォンを所持している方は、BrowserStackの利用を検討してみてはいかがでしょうか?
自動化、並列化。私の好きな言葉です❤️
Discussion