Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Playwrightでテストを楽に実装したい

yudai yamamoto
February 11, 2024
58

 Playwrightでテストを楽に実装したい

Cybozu Frontend Day 2024.2

yudai yamamoto

February 11, 2024
Tweet

Transcript

  1. 2 ⾃⼰紹介 ⾃⼰紹介 • やまさん (@yy616) • 23新卒 • サイボウズOfficeフロントエンド刷新

    (DOGO) • フロントエンドエンジニア • デザインシステム / ⽣成AI • ⼀汁⼀菜の⽣活を実践中
  2. 7 そこで、Integration Test on Playwright を攻略するために、 個⼈的におすすめと思っている実装⽅法を紹介 😃 誰に︓ Playwright⼊⾨者

    or フロントエンドテストの経験が浅い⼈ 🙌 なんと⾔って欲しい︓ Playwright で Integration Test 書くのに抵抗なくなったと⾔って欲しい 導⼊
  3. 14 テストの実装を楽にしたい 1. VS Code サイドバーの「Show brower」にチェッ クを⼊れ、「Record at cursor」を押す

    2. ブラウザに移動し、テストしたいユーザーのアクショ ンを記録 3. 記録ができたらキャンセルボタンをクリックするか、 ブラウザ ウィンドウを閉じる このボタンを押すとレコード開始 👉 参考 : Playwright の VSCode 拡張を使って効率的にテストを書く @ryo_manba Test Generator の利⽤⽅法
  4. 16 テストの実装を楽にしたい 個⼈流テストコード作成のフロー 1. Test Generator で雛形を⽣成 2. ⽣成した雛形コードを既存実装に沿った形に修正 3.

    Assertion を⼿動で追加 4. VSCode 拡張のブラウザモードやデバック機能などで動きを確認 Test Generator で⽣成 動作確認 ⽣成コードの修正 Assertionの追加
  5. 17 補⾜ • Test Genarator の⽣成対象は操作系(クリックやテキスト⼊⼒など)が基本 • v1.40.0 (2023/11/17) から

    Assertion も⼀部⽣成可能になった https://github.com/microsoft/playwright/issues/14913 • 具体的には以下の Assertion が対応済み。今後他のAssertionの対応にも期待 expect(locator).toBeVisible() expect(locator).toHaveValue(value) expect(locator).toContainText(text) テストの実装を楽にしたい
  6. 19 Playwright におけるデバック⽅法 • VSCode 拡張を使って VSCode 上でデバッグする⽅法 • Playwright

    Inspector を使う⽅法 • Playwright Trace Viewer を使う⽅法 • Developer Tool を使う⽅法 👈 今⽇話すのはこちら テストのデバックを楽にしたい
  7. 25 まとめ • VS Code 拡張を使うことで効率的にテストを書ける • コード⽣成の機能を使うことで簡単にテストの雛形を作成できる • VS

    Code Debugger を使うと効率的なデバックができる • テスト実装のTipsを実践していき、快適なテストライフを⽬指そう