Open13
E2Eテストに関して
-
ピラミッドモデルというモデルがあるらしい
-
70%の単体テスト、20%の統合テスト、10%の自動E2Eテスト
-
E2Eテストが指すものはふわふわしている
- UI テスト
- シナリオテスト
- システムテスト
E2E の目的
-
変化しにくいシナリオを担保したい -> サインイン、サインアップ、主要機能あたり
-
docker compose で実行できるように挑戦してみる
- docker compose up した対象に docker compose exec -T を実行する
-
dev コンテナを作るための方法を探す
- ローカルはローカル、コンテナはコンテナで分けた方が良いかも...
- 皆が触れることを考えると js で動かすべき?
- playwright は dev container を作成することができなかった
- なので、local で codegen する
- CI には mcr.microsoft.com/playwright:focal を利用する
- 使い分けのレポジトリ
- 日本語を使う場合
- 実践の参考になりそうなところ
playwight の docker での動かし方に関して
image の中に chromium やその他のブラウザは install されている。
rm -rf /ms-playwright-agen
されているので、再度 playwright の install を実行する必要がある。
root@656bacc736ea:/# ls /ms-playwright
chromium-965416 ffmpeg-1007 firefox-1316 webkit-1609
- ↑こっちが最新っぽい
使い方がかなり分かりやすい
BDD をゲルキン記法でしたい場合
そこでどのような使い勝手なのか触ってみたのですが、結論から言ってしまうとテスト対象によっては簡単に実装できて便利なものの、複雑なサイトの場合は結局ロケーターの指定を多用するのでどのフォームに入力してどのボタンを押しているのかが分かりにくくなり、非エンジニアでも分かりやすいコードを書くという事が実現できませんでした。
API test
playwirght
初期設定は Install Playwright から
ロケーターの選び方。カスタムデータ属性はほどほどに。
既存のテストの途中で record を開始する tips を書く
AI と組み合わせるところ
Page Object Model
ベストプラクティス