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
derek-b
April 09, 2018
Programming
400
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
74
Pardon the disruption: a user-first approach to software design
derekb
0
99
Teaching Through Code Review
derekb
0
120
Add Location-Based Searching to Your Site with Elasticsearch
derekb
0
59
Add Location-based Searching to Your PHP App with Elasticsearch
derekb
1
370
Map, Filter, and Reduce in PHP
derekb
0
860
You Version Your Code, Why Not Your Database?
derekb
0
76
Taming Your Data with Elasticsearch - PHP Benelux
derekb
1
500
What Raising 3 Kids Taught Me About Working With Users
derekb
0
420
Other Decks in Programming
See All in Programming
Lightning-Fast Method Calls with Ruby 4.1 ZJIT / RubyKaigi 2026
k0kubun
3
370
実用!Hono RPC2026
yodaka
2
220
UIの境界線をデザインする | React Tokyo #15 メイントーク
sasagar
2
360
ローカルで稼働するAI エージェントを超えて / beyond-local-ai-agents
gawa
3
280
実践CRDT
tamadeveloper
0
560
ソフトウェア設計の結合バランス #phperkaigi
kajitack
0
120
実践ハーネスエンジニアリング #MOSHTech
kajitack
7
6.5k
Liberating Ruby's Parser from Lexer Hacks
ydah
2
1.1k
「Linuxサーバー構築標準教科書」を読んでみた #ツナギメオフライン.7
akase244
0
1.4k
Going Multiplatform with Your Android App (Android Makers 2026)
zsmb
2
420
PicoRuby for IoT: Connecting to the Cloud with MQTT
yuuu
2
440
의존성 주입과 모듈화
fornewid
0
140
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
890
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
140
Automating Front-end Workflow
addyosmani
1370
200k
Crafting Experiences
bethany
1
110
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.4k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
100
It's Worth the Effort
3n
188
29k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
890
Site-Speed That Sticks
csswizardry
13
1.2k
Into the Great Unknown - MozCon
thekraken
40
2.4k
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