Playwright + Jenkins + Allureな環境を作ってみる
ゴール:PlaywrightのE2EテストがJenkinsで動き、Allureでスクリーンショットとかをビジュアルに確認できるようにしてみたい
Playwrightのテストはターゲットアプリとは別ってことにしておく(というか適当な既存のサイトを叩くものにしておこう)
諸般の事情により、headfulなテスト実行が出来る環境を作りたいのでJenkinsとJNLPで接続するスレーブ(あれ、ポリコレ的には今なんて呼ぶんだっけ)を作る必要があるはず
Allureのサーバが必要なのかどうかよくわからないからまずはやってみる感じ
Jenkins:まずはdockerで動かせばいいか(運用は別に考える)
docker run -p 8080:8080 -p 50000:50000 -v $(pwd)/jenkins_home:/var/jenkins_home jenkins/jenkins:lts
こんな感じで一応jenkins_home見えるようにしておく
allureプラグインとNodeJSプラグインを入れてみる
Javaのインストールがあれこれ面倒そうだけどとりあえず元から入ってたOracle JRE・・・
chocolateyとかscoopとかで入れるのがいいのかな
allureプラグインを入れてビルド後の処理にallure-reportを追加すると良い感じにAllure ReportのHTMLページを表示できるようだ。どっちもJavaだしServletで中で起動してるとかなのかな?(適当)
こんな感じにリンクになってて良い感じに見えるっぽい。
testRunner: jasmine2
ってしておかないと上手く動かない
うーん・・・
jest-playwrightに頼らないで自分でブラウザいくつも作ってやった方が良さそうな気配がする
Jenkinsの方がデフォルトだとワークスペースを残すようになっていてallure-reportとallure-resultsディレクトリに実行履歴が溜まっていく。ここに溜まっているおかげでFail/Passの変遷が見えるっぽい
逆に言うとここに頼ってるからワークスペースをクリーンアップしちゃうと履歴が消えるかも?