1
/
5

自動テスト中の動画記録、playWrightとSelenoidで試した

Photo by Jakob Owens on Unsplash

ある方から、自動テスト中の動画記録、できればドラレコみたいにエラー発生時の記録ができないものかと問いかけがあり、どうやらplayWrightとSelenoidを利用した場合に、動画記録出来そうということなので、早速、試してみました。
playWrightもSelenoidもCodeceptJSで利用する場合、codecept.conf.jsに若干の設定を記述するだけで、即利用可能になる点、特に、Selenoidについては、docker for windowsさえインストール済みなら、リモートリポジトリからイメージをとってきて、コンテナをPULLするのも勝手に実行される点、とにかく、導入が簡単でした。docker-compose.yml の記述もナシ。ここまで簡単になると、Docker知らなくてもできてしまうかもしれない。
意図的にエラーを混入したデータを使ってデータ駆動でAllureレポートと動画記録を試してみたところ、
1. playWrightは、エラーの発生した動画のみ保存されている。
2. Selenoidでは、success / fail 両方とも動画が記録されている。
3. playWrightはwebm形式、Selenoidはmp4 という結果でした。

webmだと、再生できるviewerに制約あるのでmp4の方が使い勝手良いかもしれないです。
ただ、Selenoidはsuccess / fail 全部動画記録なので、ファイル名がテストケースっぽいので、識別できないことはないのですが、テストデータが多くなると、ゴチャゴチャするようにも思えます。

Allureレポートはスクショなので、静止画よりも動画になると得られる情報も多いことから、バグ報告には適宜利用すると良いと考えます。
ドラレコで事故発生の瞬間静止画と前後の動画が記録できるのと、同じようなことが、CodeceptJSを使った自動テストでは出来ることがわかりました。
コマ落ちや、解像度など、もう少し調査継続です。