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
Browser Automated Tests
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
derek-b
April 09, 2018
Programming
410
1
Share
Browser Automated Tests
Combine Headless Chrome with Mocha, Chai and Node to automatically test your web pages.
derek-b
April 09, 2018
More Decks by derek-b
See All by derek-b
What Raising 3 Kids Taught Me About Working with Users
derekb
0
77
Pardon the disruption: a user-first approach to software design
derekb
0
110
Teaching Through Code Review
derekb
0
120
Add Location-Based Searching to Your Site with Elasticsearch
derekb
0
65
Add Location-based Searching to Your PHP App with Elasticsearch
derekb
1
380
Map, Filter, and Reduce in PHP
derekb
0
870
You Version Your Code, Why Not Your Database?
derekb
0
80
Taming Your Data with Elasticsearch - PHP Benelux
derekb
1
510
What Raising 3 Kids Taught Me About Working With Users
derekb
0
430
Other Decks in Programming
See All in Programming
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
160
AIエージェントと協働するCLI開発 — BunとOpenClawで学んだこと
yoshikouki
1
220
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3k
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
150
Migrations : C'est une question d'hygiène !
vinceamstoutz
0
2.2k
AI 時代のソフトウェア設計の学び方
masuda220
PRO
28
10k
JavaDoc 再入門
nagise
0
140
Claspは野良GASの夢をみるか
takter00
0
130
CLIであることを活かしたGitHub Copilot CLI活用術 / GitHub Copilot CLI Pro Tips & Tricks
nao_mk2
1
1.1k
Talking to terminals (and how they talk back) (KotlinConf 2026)
jakewharton
PRO
1
130
バックエンドにElysiaJSを採用して気付いた、良い点・悪い点
wanko_it
1
180
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
4
820
Featured
See All Featured
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
380
Code Reviewing Like a Champion
maltzj
528
40k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
From π to Pie charts
rasagy
0
190
Faster Mobile Websites
deanohume
310
31k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
190
The SEO Collaboration Effect
kristinabergwall1
1
460
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
210
Google's AI Overviews - The New Search
badams
0
1k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
240
Building AI with AI
inesmontani
PRO
1
1k
The Curse of the Amulet
leimatthew05
1
12k
Transcript
Browser Automated Tests Derek Binkley @DerekB_WI
Derek Binkley @DerekB_WI Designer? Developer? Other?
What is It?
Derek Binkley @DerekB_WI Testing Tools • Text based • Page
recorder • Selenium WebDriver • Browser Emulator
Derek Binkley @DerekB_WI Headless Chrome • June 2017 • Full
browser • Chrome Dev Tools • No GUI
Is Anybody There?
Derek Binkley @DerekB_WI Why? • Reliability • Dependability • Sleep
better after an update
What do we need? Node Chrome Puppeteer Mocha Chai
Derek Binkley @DerekB_WI Install • npm init • npm i
—save mocha chai • npm i --save puppeteer • Add test script to package.json
Derek Binkley @DerekB_WI Setup Command package.json
Examples
Derek Binkley @DerekB_WI Basics • Test Defined as JavaScript •
Full Access to DOM • Assertions using Chai
Derek Binkley @DerekB_WI First Test
Derek Binkley @DerekB_WI First Test
Derek Binkley @DerekB_WI Test Search
Derek Binkley @DerekB_WI Test Search
Derek Binkley @DerekB_WI Test Failed
Derek Binkley @DerekB_WI Test Failed
Derek Binkley @DerekB_WI Screenshots
Derek Binkley @DerekB_WI Screenshots
Derek Binkley @DerekB_WI Interactive Test
Derek Binkley @DerekB_WI Interactive Test
Derek Binkley @DerekB_WI Reacting to Changes • Changing link names
• Changing server builds • Partners changing integrations • New branding
Derek Binkley @DerekB_WI Thanks • @DerekB_WI • http:/ /derekb-wi.com
Derek Binkley @DerekB_WI Resources • https:/ /developers.google.com/web/updates/2017/06/ headless-karma-mocha-chai • https:/
/medium.com/@ankit_m/ui-testing-with- puppeteer-and-mocha-part-1-getting-started- b141b2f9e21 • https:/ /github.com/GoogleChrome/puppeteer • https:/ /github.com/checkly/puppeteer-examples