This is a 2-day hands-on workshop that focuses on understanding how Selenium works, and how it can be combined with Docker to define workflows for testing web applications. In addition, Participants will learn and practice ways to leverage the combination Selenium and Docker create a clean and simple testing infrastructure setup, which could be reused in continuous integration environments through a CI pipeline.
Who should attend
This workshop can be attended by anyone interested in continuous testing but more specifically the workshop has been tailored for:
- DevOps, and
- anyone interested in Frontend Testing who wants to have a deeper understanding on common tools used for testing like: Selenium WebDriver, Browser drivers (ChromeDriver, GeckoDriver), Docker, and putting them together into a continuous testing pipeline.
Participants will make the most of this workshop if the following requirements are met:
- Knowledge of running command-line tools from your workstation (Linux/Windows/macOS)
- Programming languages knowledge and basic automation testing concepts, Java is desired.
- Docker installed:
- Windows: https://docs.docker.com/engine/installation/windows/
- Mac: https://docs.docker.com/engine/installation/mac/
- Linux Distributions: https://docker.github.io/engine/installation/linux/. The requirements will vary depending on the flavor of Linux being used
- It is also recommended that you have a good text editor (Code, Eclipse or IntelliJ), a GitHub account, and an open USB port so participants can share files using a thumb drive.
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
- Insights on how a web application can be containerized to make testing easier
- Ways to scale up test suites by running them in parallel and in different environment combinations
- How to orchestrate multiple Docker containers to simplify test setup and execution
- How to integrate the different elements from the training to build test setups that fit better your web application testing needs
- Ways to identify and put together all the moving pieces of the test setup to facilitate the configuration of a continuous integration pipeline
More specifically, the workshop will cover the following 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.
- 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 Standalone and Hub/Node modes
- Running a test 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
Next session is coming soon.