Skip to content

Automated Web Testing with WebDriver and Serenity

Automated Web Testing with WebDriver and Serenity

Today's web applications are increasingly rich and sophisticated, and time-to-market pressure is ever increasing. Projects can no longer afford long manual testing cycles for each release. No modern web application project can hope to deliver reliably and rapidly without high quality automated web tests.

But traditional commercial tools based on record-replay or keyword-based strategies are not sufficient. These tools produce test scripts that require heavy and time-consuming maintenance each time the application changes, time that testers could be spending more productively on more advanced and high-value exploratory testing.

High quality automated web tests need to be written using tools and techniques that produce reliable, sustainable and maintainable test suites. The automated tests need to be written collaboratively by both developers and testers, so the whole team can benefit from the test automation more quickly. This requires skill and practice, but the productivity gains that result are huge.

Course Overview

This intensive two-day workshop will teach you how to write solid, reliable, and maintainable automated web tests using the best-of-breed open source technologies like Selenium WebDriver, Serenity, Cucumber, JBehave and SpecFlow.

The workshop caters for test automation both Java and .NET developers: Java developers will experiment with the more in-depth features of automated web testing with Cucumber or JBehave with Serenity, whereas .NET developers will learn about test automation in a .NET environment using SpecFlow and Visual Studio. It will teach you how both testers and developers can collaborate to write more effective automated acceptance and regression tests. And you will learn how these automated tests can fit in to the overall development process to help speed up delivery and reduce both cost and time to market.

Course Outline

  • Introduction to automated web testing
  • Types of automated web testing
    • Automated Acceptance Testing
    • Automated Regression Testing
    • Automated Testing for Legacy applications
  • WebDriver fundamentals
    • First steps with WebDriver
    • Identifying page elements
    • The Page Objects pattern
    • Working with AJAX applications
  • Writing sustainable web tests
    • Writing meaningful tests
    • Structuring your web tests for reuse and ease of maintenance
  • BDD and Scenario-based web testing
    • Serenity basics
      • Serenity steps
      • Configuring Serenity
      • Using Serenity Page Objects
    • Advanced Serenity web testing
      • Fluent selectors
      • Fluent matchers
      • Testing with tables
      • Fluent waits
    • Organizing requirements with Serenity
      • Feature Coverage
      • Requirements-level reporting
      • Release-level reporting
      • Integrating with external tools

The course is made up of a large proportion of hands-on lab work. During the second day of the course, students will write comprehensive BDD-style automated web tests for a real-world web application, experimenting with advanced WebDriver techniques, living documentation, and integration with tools like JIRA.

To ensure an optimal learning experiences, class sizes are limited. Book early!

John Ferguson Smart is a leading international expert in the domain of behaviour driven development, automated testing and software life cycle development optimization. John is a renown speaker at international conferences and events. John is the author of BDD In Action, “Jenkins: The Definitive Guide”, and “Java Power Tools”. John is also the founder and lead developer of the Serenity project, a new open source library that helps teams organize and implement more effective automated acceptance tests.

This is a hands-on, practical course designed to teach specialised skills for real-world automated testing. It is thus primarily aimed at:

  • Java and .NET developers
  • Testers with experience in test automation

This is above all a practical, hands-on workshop, involving around hands-on 90% lab work. For scheduled public courses, we will provide a fully configured computer for your use during the labs.

The course is fully catered, with a tasty lunch as well as morning and afternoon snacks.

We also frequently run this workshop as a tailored on-site session adapted to your specific environment and requirements. Many clients prefer the flexibility of these on-site sessions. For more information, please contact us.

Since 2007, over a thousand students have benefited from John's on-site and public workshops. Here is what some students have been saying about John's workshops:

  • "Best development course I have been on in a very long time. Will seriously improve our development/build/test lifecycle." - Neil, Software Developer
  • "One of the best and most useful courses I have attended. And they didn't even try to sell me anything!" - Jonathan, Developer
  • "Greatly enjoyed the course. Provided many useful insights on how to introduce improved ways of working and how to incorporate new technology with new and 'legacy' projects." - Derek, Technical Team Leader
  • "Probably the best training course I've been on...ranges from a good overview to a detailed coverage, depending on need or preference. Was an excellent course." - Peter, Analyst Programmer

If you aren’t able to make your course date the following options are available to you:


You can send one of your colleagues in your place at no charge provided you inform us up to 10 working days prior to the course date. This allows us the time to make the adequate adjustments.


You can reschedule for another class up to 10 working days from the original course date.


You may request a full refund up to 30 business days from the course date. Cancellations made within 28 days from the course date will not be eligible for a refund.

Upcoming courses