Bart Szulc

Spartez/Atlassian | Poland

BIO: Bart Szulc is tester at heart. One could say, born to test. Keeping hands dirty with automation and scripting since started professional career. Designing strategies, delivering frameworks and test environments for web and mobile applications. Actively involved in local testing communities. Presenting on most popular testing and development conferences in Poland and Europe. Helping developers become better explorers. Teaching software development and testing. In love with big data and statistical analysis. Strongly believes in unicorns. Currently on trial to become one as full cycle engineer.

TALK: World Without WebDriver? Automated Test Strategy for Modern Web Applications

Removing web driver out of the picture is a process somehow similar to peeling an onion. You keep revealing layers of responsibilities, integrations web driver tests cover indirectly, that need to replaced by some specialised tests. Looking at the onion as a whole, and not as a collection of layers bound to each other, is easy at first, and web driver tests help us keep blind to all the integrations taking place between web browser, frontend, and backend of our applications. But over long time costs us a lot. We pay in maintenance cost, in execution time, and troubleshooting of problems spotted by such tests. Separation of concerns always been a problem in frontend development, bud modern frameworks prove to get better at it. With new wave of frontend frameworks, can we replace web driver tests with something else?

I’m going to present you automated test strategy that does exactly that. Replaces web driver tests with specialised tests covering every single concern. Starting from testing backed and frontend communication with contract tests and mocking, and finishing with web browser and frontend integration, covered by component tests implemented with cypress running against light storybooks.

Takeaways

  • Learn what your usual WebDriver test covers,
  • And how you can replace it with Cypress,
  • Contract tests,
  • Frontend DOM tests,
  • Frontend Unit tests,
  • And why you still may need WebDriver but not in your pipeline.