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
1
340
Browser Automated Tests
Combine Headless Chrome with Mocha, Chai and Node to automatically test your web pages.
derek-b
April 09, 2018
Tweet
Share
More Decks by derek-b
See All by derek-b
What Raising 3 Kids Taught Me About Working with Users
derekb
0
45
Pardon the disruption: a user-first approach to software design
derekb
0
75
Teaching Through Code Review
derekb
0
98
Add Location-Based Searching to Your Site with Elasticsearch
derekb
0
31
Add Location-based Searching to Your PHP App with Elasticsearch
derekb
1
320
Map, Filter, and Reduce in PHP
derekb
0
730
You Version Your Code, Why Not Your Database?
derekb
0
59
Taming Your Data with Elasticsearch - PHP Benelux
derekb
1
450
What Raising 3 Kids Taught Me About Working With Users
derekb
0
380
Other Decks in Programming
See All in Programming
RubyKaigi Dev Meeting 2025
tenderlove
1
1.3k
KawaiiLT 登壇資料 キャリアとモチベーション
hiiragi
0
160
Thank you <💅>, What's the Next?
ahoxa
1
590
Making TCPSocket.new "Happy"!
coe401_
1
3.1k
ウォンテッドリーの「ココロオドル」モバイル開発 / Wantedly's "kokoro odoru" mobile development
kubode
1
270
カオスに立ち向かう小規模チームの装備の選択〜フルスタックTSという装備の強み _ 弱み〜/Choosing equipment for a small team facing chaos ~ Strengths and weaknesses of full-stack TS~
bitkey
1
130
プロダクトエンジニアのしごと 〜 受託 × 高難度を乗り越えるOptium開発 〜
algoartis
0
160
Vibe Coding の話をしよう
schroneko
14
3.7k
2025-04-25 GitHub Copilot Agent ライブデモ(スクリプト)
goataka
0
100
UMAPをざっくりと理解 / Overview of UMAP
kaityo256
PRO
3
1.4k
Contribute to Comunities | React Tokyo Meetup #4 LT
sasagar
0
590
Browser and UI #2 HTML/ARIA
ken7253
2
170
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.2k
A Tale of Four Properties
chriscoyier
159
23k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.7k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.7k
Music & Morning Musume
bryan
47
6.5k
How to train your dragon (web standard)
notwaldorf
91
6k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
119
51k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Agile that works and the tools we love
rasmusluckow
329
21k
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