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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
72
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
感情を設計する
ichimichi
5
1.4k
Codex CLIのSubagentsによる並列API実装 / Parallel API Implementation with Codex CLI Subagents
takatty
2
880
AIエージェントで業務改善してみた
taku271
0
500
UIの境界線をデザインする | React Tokyo #15 メイントーク
sasagar
1
170
Don't Prompt Harder, Structure Better
kitasuke
0
670
Redox OS でのネームスペース管理と chroot の実現
isanethen
0
560
今からFlash開発できるわけないじゃん、ムリムリ! (※ムリじゃなかった!?)
arkw
0
190
ドメインイベントでビジネスロジックを解きほぐす #phpcon_odawara
kajitack
2
130
「話せることがない」を乗り越える 〜日常業務から登壇テーマをつくる思考法〜
shoheimitani
4
690
Oxlintとeslint-plugin-react-hooks 明日から始められそう?
t6adev
0
110
Vibe NLP for Applied NLP
inesmontani
PRO
0
260
テレメトリーシグナルが導くパフォーマンス最適化 / Performance Optimization Driven by Telemetry Signals
seike460
PRO
2
220
Featured
See All Featured
Building the Perfect Custom Keyboard
takai
2
720
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.2k
Claude Code のすすめ
schroneko
67
220k
A designer walks into a library…
pauljervisheath
211
24k
Speed Design
sergeychernyshev
33
1.6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.2k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
220
What's in a price? How to price your products and services
michaelherold
247
13k
The Curse of the Amulet
leimatthew05
1
11k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
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