
Learn the basics of Docker and how to install Docker Desktop across Windows, macOS, and Linux, including WSL2 setup, ARM support, and VS Code integration.
Master how Docker images are read-only templates that bundle an application and its dependencies. Navigate Docker Hub, official images, and tagging to pull and run images in containers.
Discover how Docker containers serve as runtime instances of Docker images, delivering self-contained, isolated, and portable environments that run consistently across any host system.
Explore the docker command line interface and its interaction with the docker daemon via the rest api, including pull images, ps, start, stop, rm, and logs.
Learn how Docker volumes persist data outside containers, enabling survival after removal and sharing across containers, managed via Docker Desktop and CLI.
Learn to connect two containers: an asp.net application and a sql server, on a test docker network, using DNS resolution and bridge networking to enable seamless communication and API access.
Learn how to push and pull your docker images to a registry like Docker Hub, using tags, repositories, and docker push/pull commands, with examples of public and private registries.
Build a custom docker image for a Node.js and React application using a Dockerfile. Learn to install dependencies, expose port 3000, and run with npm start via docker run.
Explore how to run selenium tests in Docker, using Docker Compose to spin up the app, SQL Server, and Selenium Grid, with parallel test execution.
Learn about the application under test, a three-tier dockerized web UI, API, and SQL Server backend, and see how to build, run, and test it with selenium using docker compose.
Learn to write a simple selenium c# test with xunit, set up the project, and manage remote web driver for parallel execution in a dockerized workflow.
Set up a dynamic selenium grid in docker using stadium grid, with a hub and nodes via docker compose, then connect a remote web driver to run chrome and firefox.
Uncover dynamic Selenium grid that starts ephemeral Docker containers on demand to run isolated browser sessions in parallel. Explore beta video recording and Docker compose configurations for hub and nodes.
Implement a driver fixture that creates a remote web driver with IDisposable cleanup in xUnit, wiring tests to run against a dockerized app and a selenium grid.
Explore why an application inside a Docker container is unreachable by the Selenium Grid, and fix it by placing the app and the Selenium Grid on the same Docker network.
Configure docker compose to run selenium grid with application containers on the same network, mapping ports and using container names instead of localhost to access the app at port 8000.
Automate product creation with selenium tests by navigating home, clicking the product link, and entering name, description, price, and type to create.
Learn how to run a Selenium hub and browser nodes in Docker containers, including Chrome and Firefox, and execute parallel tests with browser options to scale test execution.
Create a dynamic browser options helper to run chrome, firefox, or safari on grid nodes by passing a browser type enum to a get browser options method.
Explore running parallel Selenium tests in an ephemeral Docker node with an app container, using Chrome and Firefox browsers to demonstrate parallel execution in Docker Desktop.
Learn to run Selenium tests in Docker by containerizing the app, hub, and tests with Docker Compose, creating ephemeral networks, and preserving the test video proof.
Build a multi-stage docker image for selenium tests and run them in containers using docker compose. Resolve remote webdriver connectivity by using the selenium hub container name instead of localhost.
Learn to run ephemeral Docker Selenium test containers by configuring the Selenium hub, using the correct network, and rebuilding images to ensure reliable, concurrent test sessions.
Learn to dockerize Selenium tests by moving the test project into the application project, making tests ephemeral, and running both app and tests on the same network with Docker Compose.
Learn to containerize Selenium tests with a Docker Compose workflow, wiring a test project, Selenium hub, and Selenium grid with a web app, then run and monitor parallel containerized tests.
Learn to run Selenium tests in parallel inside Docker containers, spawn Selenium tests within containers, and enable intra-container communication to automate a test framework for modern applications.
Explore docker and selenium automation in GitHub actions, including running selenium tests inside containers with docker compose, managing jobs and workflows, and generating artifacts like reports and videos.
Learn to design GitHub action workflows with triggers on push or pull requests, define jobs and steps, choose Ubuntu latest or self-hosted runners, and implement a Selenium test workflow.
Explore GitHub actions workflows, building multi-job pipelines with independent or dependent steps, using run commands, checkout actions, and shell scripting across Windows and Linux runners.
Learn to create multiple GitHub Actions jobs that run in parallel or sequentially, control dependencies with needs and always, and handle failures with conditional expressions in your workflow.
Explore how to use contexts and environment variables with expressions in GitHub actions to access runner, job, and step information across a workflow.
Create a darknet web app, publish to GitHub, and run a GitHub Actions workflow that restores, builds, and tests a .NET project in a real CI environment.
Explore how to control GitHub actions workflow triggers for push and pull requests, manage branches master and development, and tailor actions with branch conditions and GitHub context.
Explore how to use GitHub actions strategies and matrix to run parallel tests across operating systems and different darknet versions, automating workflows with dynamic matrix configurations.
Learn to enable more verbose debug information in GitHub Actions workflows by adding repository secrets to reveal runner, workspace, and step details during execution.
Understand running containerised selenium tests with Docker and GitHub actions. Implement Docker Compose in the pipeline, generate artifacts, and publish reports for hub and node containers with parallel tests.
Explore using a Docker Compose workflow in GitHub Actions to build, test, and run a multi-service app for CI/CD. Highlight container name conflicts and debugging steps, and preview forthcoming solutions.
Create a shell script to wait for docker containers and the selenium hub to be ready, integrate with docker compose and GitHub actions, and run selenium test containers.
Learn how to run shell scripts in a GitHub Actions pipeline within a Docker environment, address permission denied errors by granting execute rights, and configure an entrypoint to streamline automation.
Learn to automate Selenium tests in a Docker-driven pipeline by using a shell script to run Docker Compose, manage a test project, and wait for the Selenium grid hub.
configure a selenium grid in GitHub actions via docker compose, using hub with chrome and firefox drivers and video options, to ensure tests run and pass.
Execute end-to-end selenium tests by running the whole application inside a container via the GitHub actions pipeline, enabling rapid CI/CD and streamlined test execution.
Understanding Docker and using it for the Selenium automation course is designed in such a way that anyone with zero knowledge of docker and its related concepts can get up to the speed easily without much effort.
This course is divided into the following sections, to make learning more streamlined and easier
1. Understanding the ABC of Docker
· Basic commands
· Working with Multiple Docker containers
· Understanding simple examples with WordPress and MySQL
· Understanding Docker file
· Understanding Docker compose file
2. Running Selenium Test with Containerized Selenium Grid and Application
· Writing Selenium C# test
· Writing Selenium test with Dynamic Selenium grid
· Writing Driver Fixture and how to handle problems accessing the application
· Parallel Selenium test execution
· Parallel Selenium test with Multiple browsers
3. Selenium Tests project to run as a Container
All these three sections are intrinsic, meaning they are interdependent on each other and hence sometimes students may need to go back and forth to get into some related concepts.
The first section helps you understand the basics of Docker and get up to the speed of dealing with Docker and its related commands, whereas in the second and third sections we are going to automate a 3-tier application with Selenium C#.
We will be using the industry-standard way to use automate an application with Selenium and run a dockerized Selenium docker container along with the Application using docker-compose