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
レガシーコードで ビジュアルリグレッションテスト をやってみた!
Search
aharenchi
December 01, 2019
Technology
1
2.2k
レガシーコードで ビジュアルリグレッションテスト をやってみた!
PHP Conference 2019 Lightning Talk@2019/12/01 の発表資料です。
BackstopJSでのビジュアルリグレッションテストを行った話です。
aharenchi
December 01, 2019
Tweet
Share
Other Decks in Technology
See All in Technology
The Madness of Multiple Gemini CLIs Developing Simultaneously with Jujutsu
gunta
1
2.8k
claude codeでPrompt Engineering
iori0311
0
530
会社もクラウドも違うけど 通じたコスト削減テクニック/Cost optimization strategies effective regardless of company or cloud provider
aeonpeople
2
370
少人数でも回る! DevinとPlaybookで支える運用改善
ishikawa_pro
4
1.8k
モバイルゲームの開発を支える基盤の歩み ~再現性のある開発ラインを量産する秘訣~
qualiarts
0
610
スプリントレビューを効果的にするために
miholovesq
9
1.7k
From Live Coding to Vibe Coding with Firebase Studio
firebasethailand
1
320
公開初日に個人環境で試した Gemini CLI 体験記など / Gemini CLI実験レポート
you
PRO
3
630
AI時代の知識創造 ─GeminiとSECIモデルで読み解く “暗黙知”と創造の境界線
nyagasan
0
160
LLM開発を支えるエヌビディアの生成AIエコシステム
acceleratedmu3n
0
340
Kiroから考える AIコーディングツールの潮流
s4yuba
1
370
OpenTelemetry の Log を使いこなそう
biwashi
5
1.1k
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
A Tale of Four Properties
chriscoyier
160
23k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
54k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
Designing for Performance
lara
610
69k
Raft: Consensus for Rubyists
vanstee
140
7k
Practical Orchestrator
shlominoach
189
11k
A better future with KSS
kneath
238
17k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
Transcript
ϨΨγʔίʔυͰ ϏδϡΞϧϦάϨογϣϯςετ ΛͬͯΈͨʂ 1)1$POGFSFODF-JHIUOJOH5BML! Ѩ࿈ஐܙ
ࣗݾհ ͋ΕΜ ΤΩαΠτגࣜձࣾ ৽ଔ1)1FS !ZVDP@NN
ྐྵʜ ฐࣾͷͱ͋ΔͭͷαʔϏε جຊػೳ͕΄ͱΜͲಉͩͬͨ͡ͷͰɺ ಉ͡ίʔυͰ։ൃ͞Ε͍ͯͨ˝
αʔϏεಠࣗʹਐԽ࢝͠ΊɺಠࣗػೳͷͨΊͷ ग़͚͠ίʔυ͕૿͍͖͑ͯɺߴʹෳࡶʹͳͬͨɻ Ὂ͜ͷ··͕ΜΔ ⾣αʔϏεɺͭͷϓϩδΣΫτʹ͢Δ
ϓϩδΣΫτΛίϐʔ͠ɺ̎ͭ༻ҙ͢Δ͜ͱͰ ͚Δ͜ͱʹޭɻ ࣍ʹɺෆཁʹͳͬͨยํͷ੩తϑΝΠϧॲཧΛ আ͢Δඞཁ͕͋Δɻ˝
੩తϑΝΠϧͷআྃɻ ݅ۙ͘ͷϖʔδΛݕূ͢Δํ๏ʁ ⾣खಈͰݕূ Ὂʜʜ
੩తϑΝΠϧͷআྃɻ ݅ۙ͘ͷϖʔδΛݕূ͢Δํ๏ʁ ὊखಈͰݕূ ⾣ϏδϡΞϧϦάϨογϣϯςετͰݕূ
ϏδϡΞϧϦάϨογϣϯςετͱ εΫϦʔϯγϣοτΛࡱӨ͠ɺ લޙͰ͕ࠩग़͍ͯͳ͍͔ݕূ͢Δςετ $44ίʔυมߋʹΑΔද่ࣔΕ͕ͳ͍͔ݕূ͢Δͷʹ༏Ε͍ͯΔ ݕূͰ͖Δ͜ͱ ɾϘλϯը૾ͷදࣔՄ൱ ɾϖʔδͷදࣔՄ൱ ݕূͰ͖ͳ͍͜ͱ ɾϖʔδભҠ
͏ͷ #BDLTUPQ+4ɹ ϏδϡΞϧϦάϨογϣϯςετΛߦ͑ΔϑϨʔϜϫʔΫ ςετͷઃఆ CBDLTUPQKTPO ɹ εΫϦʔϯγϣοτੜ
มߋલͷεΫϦʔϯγϣοτʢ3FGFSFODFʣΛอଘ มߋޙͷεΫϦʔϯγϣοτʢ5FTUʣΛอଘ ྆ऀΛൺֱͨ͠Ϩϙʔτੜ ςετͷྲྀΕ ࢲୡ͕Δ͜ͱʂ Node.js + Puppeteer or ChromyJS
ςετ४උɹඞਢ ̍ൺֱͰ͖Δڥͷ༻ҙ ྫɿຊ൪ڥͱεςʔδڥ ςετͷઃఆ ʲඞਢ߲ʳ JEɿϨϙʔτλΠτϧ WJFXQPSUTɿࡱӨը໘αΠζ TDFOBSJPTɿςετ༰ ɹMBCFMɿςετλΠτϧ
ɹVSMɿมߋޙ63-ɹ SFGFSFODF6SMɿมߋલ63- มߋޙڥ มߋલڥ
ৄࡉઃఆ 1VQQFUFFSPS$ISPNZ+44DSJQUΛ͏͜ͱͰҎԼͷରԠ͕Մೳ w ϕʔγοΫೝূରԠ w ϩάΠϯඇϩάΠϯը໘ରԠ w ࡱӨલͷ6*มߋରԠ ϚεΦʔόʔը૾ࠩ͠ସ͑ ςετ४උɹΦϓγϣϯ
TDFOBSJPTɿςετ༰ ɹPO#FGPSF4DSJQUɿϒϥβͷઃఆ ɹPO3FBEZ4DSJQUɿεΫϦʔϯγϣοτલͷ6*ঢ়ଶมߋ
४උྃʂ ⾣ςετ࣮ߦ Ὂʹ͛Δ
݁Ռ ϛογϣϯίϯϓϦʔτʂʂʂʂʂ˝
·ͱΊ ϏδϡΞϧϦάϨογϣϯςετͷྑ͍ͱ͜Ζ w ද่ࣔΕΛݕग़Ͱ͖Δ w ςετͷ༻ҙ͕༰қ ͜Μͳਓʹಛʹ͓͢͢Ίʂ ςετͷͳ͍ڥͰද่ࣔΕ͕ා͘ϦϑΝΫλϦ ϯά͕Ͱ͖ͯͳ͍ํ ɹΊͤ͟ʂϨΨγʔίʔυ͔Βͷ٫ʂ
͓·͚ հهࣄɿ ʮ#BDLTUPQ+4ͰϏδϡΞϧϦάϨογϣϯςετʂʯ IUUQTRJJUBDPNBIBSFODIJJUFNTDGEFD a͋Γ͕ͱ͏