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
The state of end-to-end testing for modern web ...
Search
vladikoff
September 30, 2023
Programming
0
75
The state of end-to-end testing for modern web apps
vladikoff
September 30, 2023
Tweet
Share
More Decks by vladikoff
See All by vladikoff
SmashingConf 2020
vladikoff
0
26
dotJS 2019 - Into WebAssembly
vladikoff
0
24
3D + the Web Platform
vladikoff
0
410
7 years of three.js
vladikoff
0
150
node.js @ GA 2015
vladikoff
0
460
JS Testing Stack - Full Stack Toronto 2014
vladikoff
1
830
Node.JS Intro - General Assembly
vladikoff
3
490
CSS Preprocessor Workflow with Grunt
vladikoff
3
2.7k
3D Voxel Worlds with voxel.js
vladikoff
1
2k
Other Decks in Programming
See All in Programming
GitHub Actions × AWS OIDC連携の仕組みと経緯を理解する
ota1022
0
240
プロダクト開発をAI 1stに変革する〜SaaS is dead時代で生き残るために〜 / AI 1st Product Development
kobakei
0
490
CSC509 Lecture 01
javiergs
PRO
1
430
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
2
450
Back to the Future: Let me tell you about the ACP protocol
terhechte
0
130
エンジニアとして高みを目指す、 利益を生み出す設計の考え方 / design-for-profit
minodriven
23
12k
overlayPreferenceValue で実現する ピュア SwiftUI な AdMob ネイティブ広告
uhucream
0
110
AIエージェント時代における TypeScriptスキーマ駆動開発の新たな役割
bicstone
4
1.5k
止められない医療アプリ、そっと Swift 6 へ
medley
1
120
CSC305 Lecture 03
javiergs
PRO
0
230
いま中途半端なSwift 6対応をするより、Default ActorやApproachable Concurrencyを有効にしてからでいいんじゃない?
yimajo
2
340
開発者への寄付をアプリ内課金として実装する時の気の使いどころ
ski
0
350
Featured
See All Featured
Building an army of robots
kneath
306
46k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Typedesign – Prime Four
hannesfritz
42
2.8k
Done Done
chrislema
185
16k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Designing for Performance
lara
610
69k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
The Language of Interfaces
destraynor
162
25k
Transcript
State of end-to-end testing for modern web applications VLAD FILIPPOV
About Vlad // software engineer // full stack web developer
// open-source contributor
In this talk … • History of web application testing
• Testing challenges • Learn new automation tools • Demos!
Testing Web Apps
Testing Web Apps
None
2004 → 2014 → 2024
2004 • First versions of Selenium 2006+ • First versions
of Selenium WebDriver • Headless webkit testing via PhantomJS
2014 (from my 2014 presentation)
2024 WebDriverIO Playwright
Goals of these tests • Track down code regressions •
Cross-browser compatibility testing • Cost-effective testing with real user behaviour • Full end-to-end workflow
Goals of these tests • Track down code regressions •
Cross-browser compatibility testing • Cost-effective testing with real user behaviour • Full end-to-end workflow • Confidence in shipping code
Testing Challenges
Writing tests “How do I find the password reset button
for my tests?”
Flaky tests “I’ve looked everywhere for it and gave up!”
Continuous integration challenges “What is wrong with my test?” “I
need to be able to run tests locally and in CI”
Solving these problems… • Flaky tests • Spending time writing
tests • Continuous integration • Debugging • Slow Tests
Automation & Testing Tools
None
WebDriverIO
Playwright - playwright.dev Speed Correctness Multi-environment Language Choice Usability Debugging
Lightweight QA Integration
Playwright solving our testing challenges
None
Reduce flakiness with auto-wait
Screenshots Parallelism
Accessibility testing Browser configuration
None
None
playwright-ai writes tests for you
None
Q&A Thank You! contact: vf.io slides: vf.io/refactor23