Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
生成AI時代の自動E2Eテスト運用とPlaywright実践知_引持力哉
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
LegalOn Technologies, Inc
PRO
December 05, 2025
Technology
570
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
生成AI時代の自動E2Eテスト運用とPlaywright実践知_引持力哉
LegalOn Technologies, Inc
PRO
December 05, 2025
More Decks by LegalOn Technologies, Inc
See All by LegalOn Technologies, Inc
AI Coding Agent と歩むプロダクト開発 〜現場とデザイナーの変化〜
legalontechnologies
PRO
0
220
アクセシビリティ1年生、専任になるまでとこれから
legalontechnologies
PRO
1
150
AI導入だけでは価値提供が速くならない ― Findy Team+活用でわかった、アウトカムにつながる土台とプロセス再構築のポイント
legalontechnologies
PRO
0
270
QAプロセスAI支援ツールキットの導入とその効果について
legalontechnologies
PRO
0
1.1k
全社で推進するAI活用 ― ダブルCoE体制とLegalRikaiが支えるリーガルテックの進化
legalontechnologies
PRO
0
3.3k
OpenProvenceを自社の評価データで検証してみた
legalontechnologies
PRO
0
530
LegalドメインにおけるRAG精度改善フロー
legalontechnologies
PRO
1
530
LegalOn Assistantの契約書検索
legalontechnologies
PRO
0
510
速習 AIエージェント入門
legalontechnologies
PRO
27
40k
Other Decks in Technology
See All in Technology
気軽に使える"情報のハブ"としてのNotion活用 〜フロー情報の集積点 と、 Claude Code × Notion AI〜
syucream
1
180
AWS Security Hub CSPMの成功・失敗体験
cmusudakeisuke
0
540
フルAIで個人開発して学んだあれこれ / yuruai vol.1
isaoshimizu
0
110
脱SaaS!FDEを支えるプロビジョニングと分離設計
knih
0
300
フィジカル版Github Onshapeの紹介
shiba_8ro
0
320
AIネイティブな開発のサプライチェーンリスク対策 〜激動の開発現場でリスクに立ち向かう〜【ZennFes】
cscengineer
PRO
2
160
4人目のSREはAgent
tanimuyk
0
120
WebGIS AI Agentの紹介
_shimizu
0
550
10年間のブログ発信を振り返って見えたWebアプリケーションエンジニアとしての軌跡
stefafafan
0
180
秘密度ラベル初心者が第1歩でつまづかないための「設計・運用」ポイント
seafay
PRO
1
480
AWS Security Agent といっしょに脅威モデリングをやってみよう
amarelo_n24
1
210
Multi-Agent並列開発を 安全に回すための技術 / Technology for Safely Multi-Agent Parallel Development
tooppoo
0
130
Featured
See All Featured
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
190
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.3k
Music & Morning Musume
bryan
47
7.2k
Un-Boring Meetings
codingconduct
0
320
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
480
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
Designing for Performance
lara
611
70k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Transcript
株式会社LegalOn Technologies 生成AI時代の自動 E2Eテスト運用と Playwright実践知 Rikiya Hikimochi
2 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. - 引持 力哉(ひきもち りきや) - QA Automation - テックブログ ◦ 「QAプロセスAI支援ツールキット」 ◦ データ移行のテストに私たちはどう向き合ったか ◦ mablからPlaywrightに移行しました - ソフトウェアテスト自動化カンファレンス ◦ 2019、2020、2022 自己紹介 @rmochioo
4 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. 前半 • 生成AI時代の自動E2Eテスト運用について 後半 • 約3年の運用で培ったPlaywrightの実践知(Tips)の紹介 Contents
生成AI時代の自動 E2Eテスト運用について
6 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. ほとんどのプロセスについて人が行っていた。 - テスト設計 - テスト実装 - テスト実行(CI/CDパイプラインに乗っている場合は自動) - テストメンテナンス 今まで(生成 AI台頭前)
7 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. 人が行うことはプロンプトの作成 と、精査、レビュー がメインに変わった。 現在 プロセス 内容 テスト設計 プロンプトを元に 生成AIが仕様書を読みこんでシナリオを出力、 人間は精査 テスト実装 プロンプトを元に テストコードをAIが生成、人間はレビュー テスト実行 CI/CDパイプラインまたは、ローカルでの実行 テストメンテナンス プロンプトを元に 生成AIが修正箇所を特定し、自動で修復、 人間はレビュー
8 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. 以下のコストを如何に減らせるかが重要と考えた。 • プロンプトの作成 • 精査、レビュー さらなる効率化を図る
9 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. • プロンプトの作成:プロンプトを考える労力と入力の手間を減らす • 精査、レビュー:AI から高品質な出力を得る どう減らす?
プロンプトを考える労力と入力の手間を減らす
11 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. • カスタムスラッシュコマンドの活用(Claude Code / Cursor) • Agentとのやりとりを対話形式にする • 環境変数(PLAYWRIGHT_HTML_OPEN=never)の利用 プロンプトを考える負担と入力の手間を減らす
13 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. 「/◯◯」と実行すると、AI Agent に特定の指示を送れる “AI 操作用ショートカット” 。これを自作できる。 例えば、/maintenanceなどを実行すると、対応する Markdown ファイルが読み 込まれ、その内容が AI Agent によって実行される。 カスタムスラッシュコマンドの活用( Claude Code / Cursor)
14 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. markdown ファイルにはAI Agentに行ってもらいたい内容を記載しておく。 これにより、ユーザーはコマンドを叩くだけ で必要な作業 を実現できる。 カスタムスラッシュコマンドの活用( Claude Code / Cursor) maintenance.md
16 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. ユーザーが入力する選択肢をなくすことで、思考のコストを減らす。 Agentとのやりとりを対話形式にする Staging! someTest.ts 聞かれたことを答えるだけ!
18 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. https://playwright.dev/docs/test-reporters#html-reporter PLAYWRIGHT_HTML_OPEN=never これにより、テスト失敗時に Ctrl+C で中断する手間を省き、HTML レポートが自 動で開くことも防げる。 結果として、ユーザーの作業負担を軽減できる。 環境変数( PLAYWRIGHT_HTML_OPEN=never)の利用
19 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. • カスタムスラッシュコマンドの活用(Claude Code / Cursor) • 対話形式 • 環境変数(PLAYWRIGHT_HTML_OPEN=never)の利用 プロンプトを考える負担と入力の手間を減らす
20 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. Before After
AI から高品質な出力を得る
22 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. “新規実装”と”テストメンテナンス ”に分けて考えた。 AI から高品質な出力を得る
23 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. • テストシナリオの詳細化 • 実装ガイドラインの利用 AI から高品質な出力を得る(新規実装)
26 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. 曖昧な表現を避け、誰が実装しても同じ結果になる ようなシナリオ設計をする。 テストシナリオの詳細化 # シナリオ 詳細化したシナリオ 1 検索ページに遷移する。 /searchに遷移する。 2 「テスト」で検索する。 検索ボックスに「テスト」を入力し、「検索」ボタンをクリックする。 3 検索結果にテストが表示されることを確 認する。 検索結果のタイトルに「テスト」が表示されることを確認する。 4 1件のみヒットしていることを確認する。 ページネーションが「 1/1-1」と表示されていることを確認する。 検索機能のテストの例
28 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. Linter では検知しづらい 実装におけるルールを記載してAIに与える。 • テストコードではPage Object に実装された Locator を利用する。 • テストデータに依存するロケータは Page Object に実装しない。 • 後処理を前準備として利用する。 • etc 実装ガイドラインの利用
29 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. • テストシナリオの詳細化 • 実装ガイドラインの利用 → これらを行うことでレビューの負担が減るコードを出力してくれる。 AI から高品質な出力を得る(新規実装)
30 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. AIにとってわかりやすいテストコードを意識する。 • test.step() の活用と手順の詳細化 • Page Object と実際のページとの対応付け • コンテキストとの距離を近づける AI から高品質な出力を得る(テストメンテナンス)
32 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. test.step()とは Playwrightにおけるテストを論理的なステップに分割するための機能。 - テストレポートの可読性向上 - テストの構造化 - 🆕 AIに与えるコンテキストとして利用 https://playwright.dev/docs/api/class-test#test-step test.step()の活用と手順の詳細化
33 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. stepを「テストシナリオの詳細化」で紹介したように詳しく記載することで、AIにとっ てもメンテナンスしやすいテストコードになる。 test.step()の活用と手順の詳細化 # step 詳細化した step 1 検索ページに遷移する。 /searchに遷移する。 2 「テスト」で検索する。 検索ボックスに「テスト」を入力し、「検索」ボタンをクリックする。 3 検索結果にテストが表示されることを確 認する。 検索結果のタイトルに「テスト」が表示されることを確認する。 4 1件のみヒットしていることを確認する。 ページネーションが「 1/1-1」と表示されていることを確認する。
35 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. ファイルの説明に対応するページのパスを明記する。 これにより、AI Agent に参照させることができる。 PageObjectと実際のページとの対応付け
37 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. テストメンテナンス時に、テスト失敗時に生成される error-context.md を利用す る。 失敗時のページのsnapshotが保存されており、実際のテストコードと比較して修 正ができる。 テスト実行の一連の流れでメンテナンスまで行えるので速い。 複雑な場合はPlaywright MCPや Healer を利用する。 error-context.md の利用
38 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. 現時点では、最初のページのスナップショットしか出力されない。 別タブへの遷移等が含まれるテストの場合は、全てのページのスナップショットを 出力させるカスタマイズを行う必要がある。 error-context.md の利用(注意)
39 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. 新規実装 • テストシナリオの詳細化 • 実装ガイドラインの利用 テストメンテナンス • test.step() の活用と手順の詳細化 • Page Object と実際のページとの対応付け • error-context.md の利用 AI から高品質な出力を得る
40 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. プロンプトを考える労力と入力の手間を減らし 、AI から高品質な出力を得る 工夫 を行うことで、生成AI時代においてさらなる効率化を図った。 まとめ
前半終了
約3年の運用で培った Playwrightの実践知( Tips)の紹介
43 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. https://tech.legalforce.co.jp/entry/2023/03/31/114250 はや3年...
44 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. https://playwright.dev/docs/test-fixtures テストで使う環境(page や browser など)を用意し、テスト後の片付けまで行っ てくれる仕組み。 ここをカスタマイズすれば、テスト実行の際に便利なものを仕込んでおくことがで きる。 [1] Test Fixturesの活用
45 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. • テストレポートのカスタマイズ ◦ エラーが発生したAPIの出力 ◦ 遅いAPIの検知と出力 • 認証済みのページをテスト実行前に作成 [1] Test Fixturesの活用
46 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. https://playwright.dev/docs/locators 可能な限り、page.getByRole()を利用する。 テスト実装時にアクセシビリティ上の不備があった場合に気づくことができる。 - 日本語のページなのにラベリングが英語になっている。 - ラベリングが重複していて、識別できない。 - etc [2] 推奨される Locatorsの利用
47 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. https://playwright.dev/docs/api/class-test#test-step 適切に手順を記載することで、テストレポートが誰でも理解しやすいものになる。 [3] test.step()の利用
48 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. リソースを確認しつつ、テストの並列実行数を調整できる。 [4] 実行環境モニタリングダッシュボードの作成
49 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. 機能増加に伴い、Page Objectファイル内の操作関数が増え見通しが悪くなっ た。 そのため、役割ごとに分割することで管理しやすくする。 [5] Page Objectファイルの肥大化を防ぐ
50 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. https://playwright.dev/docs/api/class-locator#locator-wait-for 待ちを入れたい場合は、まずはwaitFor()の利用で実現できないかを考える。 要素の状態に対して待ちを入れられるので、 waitForTimeout()の固定時間の待ちと比較してテストの安定性と効率が上がる。 [6] 可能な限り waitFor()を利用する
51 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. スケルトンスクリーンの表示から非表示になるまでを一つの関数として用意する ことでテストの安定化を図っている。 [7] カスタマイズした waitを利用する async waitForLoading(): Promise<void> { await skeleton.waitFor({ state: 'visible' }); await skeleton.waitFor({ state: 'hidden' }); }
52 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. timeoutを極端に長く設定してしまうと、UIの要素変更によりテストが失敗する場 合に実行時間が無駄に伸びてしまうため注意する。 例えばclick({ timeout: 30_000 })とすると、要素に変更が加わって特定できな かっただけで30秒も待ってしまう。 スパッと終わらせてやるのも重要。 [8] 必要最低限の timeoutを設定する
53 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. テスト対象の画面に直接アクセスし、前提となる不要なステップ(画面遷移や初 期操作)をスキップする。 - テスト実行時間の短縮 - (ステップを踏まないことによる)テストの安定化 ※ 不要となるステップは別のテストで担保されている前提。 [9] 直遷移の活用
54 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. 状況に応じて、UI の更新をページリロードで確認するのではなく、対応するバッ クエンド API のレスポンスを待つことで、状態反映の完了待ちを行っている。 例として、ファイルアップロード後の一覧画面への反映など、非同期で反映される 更新系操作などはこれを利用している。 [10] APIからの応答を待つ
55 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. “検証したいこと”以外のアサーションは行わない。 - テストケース名(検証したいこと)とアサーションのズレを防ぐため。 - 失敗時に何のテストなのかが判断しづらくなるため。 [11] 不必要なアサーションを行わない
56 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. テストデータの復元や削除などの後処理は、次回のテストの前処理として行う。 アプリケーションをテストが失敗した状態で残しておきたいため。 [12] 後片付けは前処理に持っていく
57 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. ダウンロードのテストを行う場合、ダウンロード先をtest-resultsディレクトリ配下に設 定することで、次回テスト時にPlaywright側でクリーンアップされるため便利である。 [13] ダウンロード先フォルダとして、 test-results の利用
58 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. https://playwright.dev/docs/test-projects Test Projectsを利用して、マイクロサービスごとにテストを分割して実行している。 [14] 状況に応じたテストの実行戦略
59 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. https://playwright.dev/docs/test-annotations#tag-tests 各サービスを跨いだリグレッションテストを実施したい場合は、tagを利用して各サー ビスにおける重要度の高いテストをまとめて実行している。 [14] 状況に応じたテストの実行戦略
60 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. https://playwright.dev/docs/test-timeouts#global-timeout Kubernetesなどのインフラ側のタイムアウトにより、テスト実行中にコンテナごと停止 してしまった場合はテストレポートが出力されない。 globalTimeoutにてテスト全体のタイムアウト時間を設定することで、それを回避す る。 [15] globalTimeoutの設定 globalTimeout < インフラ側のタイムアウト
61 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. https://playwright.dev/docs/test-global-setup-teardown [16] テスト実施前にアプリケーションが壊れていないことを確認する
62 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all
rights reserved. アプリケーションの多言語化に伴い、CSVで切り替えられるような仕組みを導入して いる。これにより共通のPageObjectを利用できる。 [17] 多言語対応 email: page.getByRole('textbox', { name: t({ key: 'email' }) }); password: page.getByRole('textbox', { name: t({ key: 'password' }) }); email,Email password,Password email,メールアドレス password,パスワード en-US.csv ja-JP.csv
株式会社LegalOn Technologies https://legalontech.jp/