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
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
81
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
今さら聞けないCancellationToken
htkym
0
210
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
4
1.2k
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
320
Lessons from Spec-Driven Development
simas
PRO
0
100
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
430
1人1案件のプロダクトエンジニア時代に、"プロセス監督"としてチャレンジしたこと
non0113
0
360
関係性から理解する"同一性"の型用語たち
pvcresin
2
620
Talking to terminals (and how they talk back) (KotlinConf 2026)
jakewharton
PRO
1
160
Old Dog, New Tricks: The Java 25 Reinvention - JNation
bazlur_rahman
0
140
Inspired By RubyKaigi (EN)
atzzcokek
0
460
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
400
Modding RubyKaigi for Myself
yui_knk
0
830
Featured
See All Featured
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
44k
[SF Ruby Conf 2025] Rails X
palkan
2
1.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
74k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
130
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
Context Engineering - Making Every Token Count
addyosmani
9
920
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
820
Building the Perfect Custom Keyboard
takai
2
780
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