This is a 2-day hands-on workshop that will help you understand how Selenium WebDriver works, and how it can be combined with Docker to define workflows for testing web applications. In addition, leverage the combination Selenium + Docker to create a clean and simple testing infrastructure setup, which could be reused in continuous integration environments through a CI pipeline.
Topics
- What is WebDriver? Understanding the WebDriver protocol
- WebDriver command flow, from the client to the browser and back
- Sending commands to the Firefox/Chrome through GeckoDriver/ChromeDriver.
- What is CDP? What is WebDriver Bidirectional? How does it work with Selenium?
- Commands flow, from the client to the browser and back
- Features available for automation through CDP and Bidirectional
- Presenting a dockerized web application for testing through the training
- Overview of the web application
- Understanding how to put the web application in a Docker image
- Running the web application locally through Docker
- Selenium Grid overview
- How does the Grid work?
- Running the Grid in its different modes
- Running a few tests using the Grid
- Using Docker to run tests inside a container
- Run multiple docker containers via docker-compose to test a web application in different environments
- Shortening test suite execution time by running tests in parallel
- Running tests in a continuous integration pipeline
Who should attend
Testers, developers, DevOps, and anyone interested in Frontend Testing who wants to have a deeper understanding of common tools used for testing like Selenium WebDriver, Browser drivers (ChromeDriver, GeckoDriver), Docker, and putting them together into a continuous testing pipeline.
Prerequisites
Participants will make the most of this workshop if the following requirements are met:
-
- Know how to run command-line tools from your workstation (Linux/Windows/macOS)
- Programming knowledge and basic automation testing concepts.
- Docker installed: https://docs.docker.com/engine/install/
- It is also recommended that you have a good text editor (IntelliJ or VSCode), a GitHub account, and a GitPod account (authenticating with your GitHub account is desired)
What will you learn
During this 2-day hands-on workshop participants will have the opportunity to learn:
- Selenium foundational concepts and how they automate browsers
- How CDP and WebDriver Bidirectional work. How they integrate with Selenium.
- Get insights on how a web application can be containerized to make testing easier
- Scale-up test suites by running them in parallel and in different environment combinations
- Orchestrate multiple Docker containers to simplify test setup and execution
- Integrate the different elements from the training to build test setups that fit better your web application testing needs
- Identify and put together all the moving pieces of the test setup to facilitate the configuration of a continuous integration pipeline
Instructor
Diego Molina is a Software Engineer who is fascinated by testing. He is a Selenium core committer. He loves enabling testers and developers by creating helpful testing tools and infrastructure and through versatile workshops. Diego can often be spotted speaking at Selenium/Appium/Testing conferences and most of the time you can find him on the Slack channel for Selenium. Currently, he works at Sauce Labs as a Staff Software Engineer.