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
2.1k
Playwrightから始めるVisual Regression Testingのススメ by とっと
フロントエンドカンファレンス北海道2024の5分枠で発表した内容です!
totto2727
August 24, 2024
Tweet
Share
More Decks by totto2727
See All by totto2727
Cloudflareを使い倒す!
totto2727
1
32
NotionのURLをWorkersで綺麗にしよう!
totto2727
0
480
Other Decks in Programming
See All in Programming
RemixとCloudflare Stack におけるFile Upload
ossamoon
1
130
標準ライブラリの動向とイテレータのパフォーマンス
makki_d
3
200
ECS向けのドリフト検知機構を実装してみた
tkikuc
0
290
Beyond Laravel Octane - Hyperf for Laravel Artisans
albertcht
1
130
.NET Aspireのクラウド対応検証: Azureと他環境での実践
ymd65536
1
430
What is TDD?
urakawa_jinsei
1
220
クラウドサービスの 利用コストを削減する技術 - 円安の真南風を感じて -
pyama86
3
390
"Swarming" をコンセプトに掲げるアジャイルチームのベストプラクティス
boykush
2
250
GrafanaのHTTP API を眺めてみよう
rinchoku
0
110
DjangoNinjaで高速なAPI開発を実現する
masaya00
0
510
DevFest Android in Korea 2024 - 안드로이드의 문단속 : 앱을 지키는 암호화 이야기
mdb1217
1
160
ポケモンで考えるコミュニケーション / Communication Lessons from Pokémon
mackey0225
4
170
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2k
No one is an island. Learnings from fostering a developers community.
thoeni
19
2.9k
Design by the Numbers
sachag
278
19k
Debugging Ruby Performance
tmm1
73
12k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
41
9.2k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
29
1.7k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
RailsConf 2023
tenderlove
28
840
How GitHub Uses GitHub to Build GitHub
holman
473
290k
How to train your dragon (web standard)
notwaldorf
87
5.6k
Done Done
chrislema
181
16k
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ºαΠϘζࣾ߹ ಉϑϩϯτΤϯυΧϯϑΝϨϯε ւಓޙࡇˏ౦ژ
ऴΘΓͰ͢ʂ ͋͝Γ͕ͱ͏͍͟͝·ͨ͠ʂ