Slide 1

Slide 1 text

State of end-to-end testing for modern web applications VLAD FILIPPOV

Slide 2

Slide 2 text

About Vlad // software engineer // full stack web developer // open-source contributor

Slide 3

Slide 3 text

In this talk … ● History of web application testing ● Testing challenges ● Learn new automation tools ● Demos!

Slide 4

Slide 4 text

Testing Web Apps

Slide 5

Slide 5 text

Testing Web Apps

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

2004 → 2014 → 2024

Slide 8

Slide 8 text

2004 • First versions of Selenium 2006+ • First versions of Selenium WebDriver • Headless webkit testing via PhantomJS

Slide 9

Slide 9 text

2014 (from my 2014 presentation)

Slide 10

Slide 10 text

2024 WebDriverIO Playwright

Slide 11

Slide 11 text

Goals of these tests ● Track down code regressions ● Cross-browser compatibility testing ● Cost-effective testing with real user behaviour ● Full end-to-end workflow

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

Testing Challenges

Slide 14

Slide 14 text

Writing tests “How do I find the password reset button for my tests?”

Slide 15

Slide 15 text

Flaky tests “I’ve looked everywhere for it and gave up!”

Slide 16

Slide 16 text

Continuous integration challenges “What is wrong with my test?” “I need to be able to run tests locally and in CI”

Slide 17

Slide 17 text

Solving these problems… ● Flaky tests ● Spending time writing tests ● Continuous integration ● Debugging ● Slow Tests

Slide 18

Slide 18 text

Automation & Testing Tools

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

WebDriverIO

Slide 21

Slide 21 text

Playwright - playwright.dev Speed Correctness Multi-environment Language Choice Usability Debugging Lightweight QA Integration

Slide 22

Slide 22 text

Playwright solving our testing challenges

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

Reduce flakiness with auto-wait

Slide 25

Slide 25 text

Screenshots Parallelism

Slide 26

Slide 26 text

Accessibility testing Browser configuration

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

playwright-ai writes tests for you

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

Q&A Thank You! contact: vf.io slides: vf.io/refactor23