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.1k
レガシーコードで ビジュアルリグレッションテスト をやってみた!
PHP Conference 2019 Lightning Talk@2019/12/01 の発表資料です。
BackstopJSでのビジュアルリグレッションテストを行った話です。
aharenchi
December 01, 2019
Tweet
Share
Other Decks in Technology
See All in Technology
初心者向けAWS Securityの勉強会mini Security-JAWSを9ヶ月ぐらい実施してきての近況
cmusudakeisuke
0
130
【LT】ソフトウェア産業は進化しているのか? #Agilejapan
takabow
0
100
SRE×AIOpsを始めよう!GuardDutyによるお手軽脅威検出
amixedcolor
0
200
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
390
DynamoDB でスロットリングが発生したとき/when_throttling_occurs_in_dynamodb_short
emiki
0
270
Making your applications cross-environment - OSCG 2024 NA
salaboy
0
200
心が動くエンジニアリング ── 私が夢中になる理由
16bitidol
0
100
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
350
AIチャットボット開発への生成AI活用
ryomrt
0
170
OS 標準のデザインシステムを超えて - より柔軟な Flutter テーマ管理 | FlutterKaigi 2024
ronnnnn
1
300
The Role of Developer Relations in AI Product Success.
giftojabu1
1
150
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
110
Featured
See All Featured
A designer walks into a library…
pauljervisheath
204
24k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
130
Docker and Python
trallard
40
3.1k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
What's new in Ruby 2.0
geeforr
343
31k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Designing Experiences People Love
moore
138
23k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
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͋Γ͕ͱ͏