Selenium is an open source tool for web browser automation. Used in combination with a testing framework, it can be used for automating the testing of web applications.
I will show you how to:
• Automate testing of a website using Selenium
• Separate navigation and testing using PageObjects
• Test the same web application using multiple browsers, cross-browser testing
• Headless testing for testing on the continuous integration server
• Data driven tests
• Take a screenshot when a test fails
• Specify the test in an executable format readable for non-technical colleagues
Selenium tests are slow compared to unit tests. I will therefore show you examples of when to use unit tests with JUnit instead of Selenium tests to get faster feedback.
The expected outcome is that you will know:
• That Selenium is used for navigation of web applications
• It is possible to do changes in the layout of the web application without updating all the tests when you use the right abstractions
• It is possible to test your web application using (almost) all combinations of browsers and operating systems
• It is possible to execute the tests fast in a headless mode
• That it is possible to specify the expected behavior in a format possible to read and understand for non-technical colleagues
• When to use Selenium and when not to
All code will be written in Java. Slides and code will be available after the presentation.