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
LegalOn Technologies, Inc
PRO
December 05, 2025
Technology
600
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
QAと開発の両側から進める AI活用 -QAプロセスAI支援ツールキットと Inner Loop / Outer Loopの取り組み-
legalontechnologies
PRO
2
330
Devsumi 2026 Summer 人もAIも使える共通基盤を事業の加速装置にする~デザインシステム運用に学ぶ組織レバレッジ~ 渡辺 凌央
legalontechnologies
PRO
1
330
AI時代でも楽しくエンジニアリングするには
legalontechnologies
PRO
1
200
AI Coding Agent と歩むプロダクト開発 〜現場とデザイナーの変化〜
legalontechnologies
PRO
1
270
アクセシビリティ1年生、専任になるまでとこれから
legalontechnologies
PRO
2
160
AI導入だけでは価値提供が速くならない ― Findy Team+活用でわかった、アウトカムにつながる土台とプロセス再構築のポイント
legalontechnologies
PRO
0
290
QAプロセスAI支援ツールキットの導入とその効果について
legalontechnologies
PRO
1
1.2k
全社で推進するAI活用 ― ダブルCoE体制とLegalRikaiが支えるリーガルテックの進化
legalontechnologies
PRO
0
3.4k
OpenProvenceを自社の評価データで検証してみた
legalontechnologies
PRO
0
570
Other Decks in Technology
See All in Technology
AI エージェント時代のデジタルアイデンティティ
fujie
0
980
AIとハーネスで育てるトランスコンパイラ / 20260722 Yasushi Katayama
shift_evolve
PRO
4
1.1k
なぜ、あなたのエージェントは言うことを聞かないのか
segavvy
1
560
AI研修(Day2)【MIXI 26新卒技術研修】
mixi_engineers
PRO
2
1.3k
データエンジニアリングとドメイン駆動設計
masuda220
PRO
15
2.7k
テックカンファレンス三大ステークホルダーの文化人類学 ─ 違いを認め合う関係性作り
bash0c7
4
960
なぜMIXIはゼロトラスト基盤として クラウドフレアを選んだのか - Cloudflare Peer Point SASE User Voices
mixi_engineers
PRO
2
120
変更し続けられるシステムをどう保つか — AI時代のSSoTという設計原則
kawauso
1
1.5k
NYC Summit 2026 におけるAmazon Bedrock AgentCore のアップデート
ren8k
1
240
ここは地獄!つらい朝会を体験することで、チームとしてのより良い振る舞いに気づくワークショップ / The stand-up meeting from hell in the game industry
scrummasudar
0
400
システム監視入門
grimoh
5
720
QAタスクをスキル化したいときに考えること
aomoriringo
0
120
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
For a Future-Friendly Web
brad_frost
183
10k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
390
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Discover your Explorer Soul
emna__ayadi
2
1.2k
Agile that works and the tools we love
rasmusluckow
331
22k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
300
Mobile First: as difficult as doing things right
swwweet
225
10k
Producing Creativity
orderedlist
PRO
348
40k
Designing for Performance
lara
611
70k
The Language of Interfaces
destraynor
162
27k
The World Runs on Bad Software
bkeepers
PRO
72
12k
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/