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
Playwrightから始めるVisual Regression Testingのススメ by...
Search
totto2727
August 24, 2024
Programming
2
1.9k
Playwrightから始めるVisual Regression Testingのススメ by とっと
フロントエンドカンファレンス北海道2024の5分枠で発表した内容です!
totto2727
August 24, 2024
Tweet
Share
More Decks by totto2727
See All by totto2727
Cloudflareを使い倒す!
totto2727
1
28
NotionのURLをWorkersで綺麗にしよう!
totto2727
0
470
Other Decks in Programming
See All in Programming
Hono・Prisma・AWSでGeoなAPI開発
nokonoko1203
5
670
実践!難読化ガイド
mitchan
0
120
Ruby Parser progress report 2024
yui_knk
2
220
rails_girls_is_my_gate_to_join_the_ruby_commuinty
maimux2x
0
190
長期運用プロダクトの開発速度を維持し続けるためのリファクタリング実践例
wataruss
8
2.7k
エラーレスポンス設計から考える、0→1開発におけるGraphQLへの向き合い方
bicstone
5
1.5k
Jakarta EE meets AI
ivargrimstad
1
350
Lessons by WebAssembly app in production on CDN Edge Computing Service
tetsuharuohzeki
0
170
Scala アプリケーションのビルドを改善してデプロイ時間を 1/4 にした話 | How I improved the build of my Scala application and reduced deployment time by 4x
nomadblacky
1
160
マイグレーションコード自作して File-Based Routing に自動移行!! ~250 ページの歴史的経緯を添えて~
cut0
1
260
Amazon BedrockでサーバレスなAIお料理ボットを作成する!!
tosuri13
0
200
いつか使える ObjectSpace / Maybe useful ObjectSpace
euglena1215
2
130
Featured
See All Featured
A Tale of Four Properties
chriscoyier
155
22k
The Mythical Team-Month
searls
218
43k
A better future with KSS
kneath
235
17k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
326
21k
Bash Introduction
62gerente
608
210k
GraphQLの誤解/rethinking-graphql
sonatard
65
9.8k
Navigating Team Friction
lara
183
13k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
24
600
The Invisible Customer
myddelton
119
13k
Visualization
eitanlees
142
15k
Large-scale JavaScript Application Architecture
addyosmani
508
110k
Product Roadmaps are Hard
iamctodd
PRO
48
10k
Transcript
1MBZXSJHIU͔Β࢝ΊΔ7JTVBM 3FHSFTTJPO5FTUJOHͷεεϝ גࣜձࣾΏΊΈͱͬͱ
ࣗݾհ w ͱͬͱ w 9ͱ(JU)VCɿ!UPUUP w גࣜձࣾΏΊΈॴଐ w ೖࣾͷϑϩϯτΤϯυΤϯδχΞ w
ϏδϡΞϧϦάϨογϣϯςετͷܦݧɿ͙Β͍
ձࣾհ ΦʔϓϯϋϯυϒοΫ
͋Δͷ࡞ۀ ʓʓϖʔδͷͨΊʹʓʓίϯϙʔωϯτΛमਖ਼ʂ ʢʓʓϖʔδΛ֬ೝͯ͠ʜʣ मਖ਼͞Ε͍ͯΔɺϤγοʂ
ޙʜ ʢमਖ਼ͨ͠ϖʔδͱผͷϖʔδͷʣ 6*่͕Ε͍ͯ·͢ʂʂʂ
ݪҼ w ίϯϙʔωϯτઃܭ͕ྑ͘ͳ͔ͬͨ w γεςϜͷཧղ͕͔ͬͨ w ࣮ɺϨϏϡʔͷࡍʹ֬ೝ͕ෆेͩͬͨ
ͱ͍͑ ຖճશϖʔδ֬ೝ͢ΔͷΓͨ͘ͳ͍ʂʂʂ ʢతʹݫ͍͠ʣ
ͦ͏ͩʂςετͰղܾ͠Α͏ʂ
ϑϩϯτΤϯυͷ৭ʑͳςετ w ൣғผ w ੩తղੳ w ୯ମςετ w ݁߹ςετ w
&&ςετ w తผ w ΠϯλϥΫγϣϯςετ w ΞΫηγϏϦςΟςετ w εφοϓγϣοτςετ w 6*ίϯϙʔωϯτΤΫεϓϩʔϥ w ϏδϡΞϧϦάϨογϣϯςετ w FUDʜ ࢀߟࢿྉɿ w ༁ʮϑϩϯτΤϯυΞϓϦέʔγϣϯͷ੩తɺ୯ମɺ݁߹ɺ&&ςετʯCZ,FOU$%PEET w &&ςετͷఆٛΛΓ͍ͨ
ϏδϡΞϧϦάϨογϣϯςετ
ϏδϡΞϧϦάϨογϣϯςετ w Ҏ߱Ͱ735ͱলུ͠·͢ w ը૾ͷൺֱΛߦ͍ࠩΛݕग़͢Δςετ w 6*ͷมߋʢ$44ؚΉʣݕͰ͖Δ
735ͷ͓͓·͔ͳྲྀΕ 8FCαΠτͷ৴ڥͷ্ཱͪ͛ εφοϓγϣοτऔಘ લճͷը૾ͷൺֱ Ϩϙʔτͷੜ
ҙ֎ͱߟ͑Δ͜ͱ͕ଟ͍ʜ w ࡱӨ͢Δର w ը૾ͷอଘॴ w εφοϓγϣοτςετͷߋ৽λΠϛϯά w ϨϏϡʔମ੍ w
$*$%
ͱ͍͏͜ͱͰ͓ࢼ͠ΩοτΛ࡞Γ·ͨ͠ʂ QMBZXSJHIUWSUIBOETPO w ߏ w ࡱӨ͢Δରɿϖʔδ୯Ґ w ը૾ͷอଘॴɿ(JUϦϙδτϦ w $*$%
w 1MBZXSJHIU w (JU)VC"DUJPOT(JU)VC1BHFT w "DUJPOTͰ6QEBUFδϣϒΛ࣮ߦ͢Δͱ13͕ੜ͞ΕΔ
1MBZXSJHIU w &&ςεςΟϯάϑϨʔϜϫʔΫ w ϒϥβΛίʔυϕʔεͰૢ࡞Ͱ͖Δ w +BWB4DSJQUҎ֎ʹ1ZUIPOͳͲ৭ʑͳ࣮͕͋Γ·͢ w ϘλϯͷΫϦοΫεΫϩʔϧɺ։ൃऀπʔϧͷૢ࡞ͳͲ৭ʑͰ͖Δ w
༷ʑͳϒϥβʹରԠ͍ͯ͠ΔଞɺσόΠεͷϓϦηοτଟ͘ϓϩδΣ Ϋτʹ߹ΘͤͯॊೈʹςετΛ࣮ݱͰ͖Δ
(JU)VC"DUJPOT w $*$%ύΠϓϥΠϯΛఏڙ͢ΔΫϥυαʔϏεͷҰͭ w (JU)VCͱີʹ࿈ܞ͍ͯ͠Δ w ϦϙδτϦपΓͷτϦΨʔ͕ඇৗʹ๛ w ϦϙδτϦ͕͋Εڥߏஙෆཁ w
ϦϙδτϦͷૢ࡞͕༰қ w 1VCMJDϦϙδτϦͰ͋Εɺجຊతʹແ੍ݶʹར༻Մೳ
(JU)VC1BHFT w (JU)VCϦϙδτϦͱؔ࿈͢Δ8FCαΠτΛϗεςΟϯάͰ͖ΔαʔϏε w ࠓճ735ͷϨϙʔτΛϗεςΟϯά͢ΔͨΊʹར༻͠·͢ w ͭͷυϝΠϯ͔࣋ͯ͠ͳ͍ͱ͍͏ܽ͋Γ·͕͢ɺඇৗʹ͓खܰʹར ༻Ͱ͖ΔػೳͰ͢ w ಉ࣌ʹෳͷϒϥϯν͔ΒσϓϩΠ͍ͨ͠ʜʂͱ͍͏߹ɺ/FUMJGZ
7FSWFMɺ$MPVE fl BSF1BHFTͳͲΛར༻͠·͠ΐ͏
735ͷ͓͓·͔ͳྲྀΕ 8FCαΠτͷ৴ڥͷ্ཱͪ͛ εφοϓγϣοτऔಘ લճͷը૾ͷൺֱ Ϩϙʔτͷੜ 1MBZXSJHIUͷ ୲ൣғ πʔϧʹΑͬͯ Ұ෦ʹಛԽ͍ͯ͠Δͷ SFHTVJUͳͲ
ίʔυͱϨϙʔτ ͘ͳ͍ͬͯΔ ෦͕ࠩ ϖʔδಡΈࠐΜͰ735Ͱ͢Δ ͚ͩͳΒ͜Ε͚ͩͰ͍͍ ʢ࣮ࡍΠϯλϥΫγϣϯͳΜΒ͔ͷ ػ͕ڬ·Δ͜ͱ͕ଟ͍ʣ
ੜ͞Εͨ13ͱ1BHFT w Ϩϙʔτ w IUUQT UPUUPHJUIVCJP WSUIBOETPO w ߋ৽13 w
IUUQTHJUIVCDPN UPUUPWSU IBOETPOQVMM
վળ৭ʑ w ίϯϙʔωϯτϨϕϧ735 w $*ڥͱϩʔΧϧڥΛἧ͑Δ w ଞͷ735πʔϧͷݕ౼ w ύϑΥʔϚϯε w
&&ςετͱͷ͍͚ w FUDʜ
ίϯϙʔωϯτϨϕϧͷ735 w ϑϧϖʔδͷ735࣮͕؆୯ͳΑ͏ʹݟ͑ͯམͱ͕݀͠Կ͔͋Δ w େ͖ͳ͕ࠩग़Δͱຊདྷݕग़͔͕ͨͬͨࠩ͠ຒΕΔ w දࣔ֎ͷը૾ͷಡΈࠐΈ w ίϯϙʔωϯτϨϕϧʹׂ͢Δ͜ͱͰɺΑΓৄࡉ͔࣮ͭ֬ʹ735ͷԸܙ Λड͚Δ͜ͱ͕Ͱ͖Δ
ίϯϙʔωϯτϨϕϧͷ735 w 1MBZXSJHIUͷίϯϙʔωϯτςετػೳʢ։ൃதʣ w ಛఆͷίϯϙʔωϯτͷΈϒϥβͰϨϯμϦϯάͰ͖Δ w ࣌ɺ3FBDUɺ4WFMUFɺ7VFɺ4PMJEͰར༻Ͱ͖Δ w 6*ίϯϙʔωϯτΤΫεϓϩʔϥ 735
w 4UPSZCPPLͳͲͱΈ߹ΘͤΔ͜ͱͰ࣮ݱ͢Δ w දతͳΈ߹Θͤɿ4UPSZCPPL TUPSZDBQ SFHTVJU
%PDLFSΛར༻ͨ͠735 w ͓ࢼ͠ΩοτͰ$*Ͱอଘͨ͠ը૾ΛϩʔΧϧͰྲྀ༻Ͱ͖·ͤΜ w $*ͷΈͰ࣮ߦ͢Δ߹ʹͳΒͳ͍Ͱ͕͢ɺϩʔΧϧͰҰ෦͚࣮ͩߦ ͍ͨ͠߹ɺϑΥϯτͳͲͰ͕ࠩग़ΔՄೳੑ͕ߴ͍Ͱ͢ w ϩʔΧϧͱ$*ͷ྆ํͰ735Λ࣮ߦ͢Δ߹ɺಉ͡%PDLFS*NBHFΛར༻ ͯ͠ςετ͢Δ͜ͱΛ͓͢͢Ί͠·͢ w
1MBZXSJHIUͷެࣜυΩϡϝϯτ w ຊޠڥ͚ͷ1MBZXSJHIU%PDLFS fi MF
ଞͷ735πʔϧ w ۙɺ735ઐͷ༗༻ͳπʔϧɺαʔϏε͕ొ͍ͯ͠·͢ w ΫϥυαʔϏε w $ISPNBUJDɺ-PTU1JYFM w πʔϧ w
-PTU1JYFMɺSFHTVJU ͱTUPSZDBQ w ʹ7JTVBM3FHSFTTJPO5FTUJOHΛ࢝ΊΔͳΒͲΜͳબࢶ͕͋Δ͔
ࢀߟࢿྉͷհ w ϑϩϯτΤϯυ։ൃͷͨΊͷςετೖࠓ͔ΒͰ͓͖͍ͬͯͨࣗಈς ετઓུͷඞਢࣝ w ࠓඞཁͳجૅ͔ࣝΒ࣮ફ·Ͱཏ͞Ε͍ͯΔ w ϥΠϒϥϦπʔϧͷ༷มߋ͋ΔͨΊɺಡΉͳΒࠓ͕͓͢͢Ί w ϏδϡΞϧϦάϨογϣϯςετπʔϧ̐બʂϢʔβʔ͕ޠΔ֤πʔϧͷ
ϝϦοτ w ࠓճհ͍ͯ͠ͳ͍1MBZXSJHIUҎ֎ͷπʔϧ͕հ͞Ε͍ͯ·͢
Πϕϯτհ w ϑϩϯτΤϯυΧϯϑΝϨϯεւ ಓΞϑλʔτʔΫ0OMJOF w ΏΊΈº-BZFS9ºαΠϘζࣾ߹ ಉϑϩϯτΤϯυΧϯϑΝϨϯε ւಓޙࡇˏ౦ژ
ऴΘΓͰ͢ʂ ͋͝Γ͕ͱ͏͍͟͝·ͨ͠ʂ