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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
vladikoff
September 30, 2023
Programming
0
83
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
34
dotJS 2019 - Into WebAssembly
vladikoff
0
25
3D + the Web Platform
vladikoff
0
430
7 years of three.js
vladikoff
0
150
node.js @ GA 2015
vladikoff
0
470
JS Testing Stack - Full Stack Toronto 2014
vladikoff
1
840
Node.JS Intro - General Assembly
vladikoff
3
500
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
AI時代でも変わらない技術コミュニティの力~10年続く“ゆるい”つながりが生み出す価値
n_takehata
2
470
Metaprogramming isn't real, it can't hurt you
okuramasafumi
0
130
AI時代のキャリアプラン「技術の引力」からの脱出と「問い」へのいざない / tech-gravity
minodriven
22
8k
DSPy入門 Pythonで実現する自動プロンプト最適化 〜人手によるプロンプト調整からの卒業〜
seaturt1e
1
280
AI活用のコスパを最大化する方法
ochtum
0
110
浮動小数の比較について
kishikawakatsumi
0
350
CSC307 Lecture 10
javiergs
PRO
1
690
オブザーバビリティ駆動開発って実際どうなの?
yohfee
2
550
Rubyと楽しいをつくる / Creating joy with Ruby
chobishiba
0
200
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
5
890
米国のサイバーセキュリティタイムラインと見る Goの暗号パッケージの進化
tomtwinkle
1
270
CSC307 Lecture 12
javiergs
PRO
0
450
Featured
See All Featured
The browser strikes back
jonoalderson
0
730
Raft: Consensus for Rubyists
vanstee
141
7.3k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
130
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
160
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
300
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
610
Rails Girls Zürich Keynote
gr2m
96
14k
Building an army of robots
kneath
306
46k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
660
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
180
The Art of Programming - Codeland 2020
erikaheidi
57
14k
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