
▪What is Virtualization?
▪What is Containerization/Container management?
▪What is Docker, Docker Container & Docker Image?
▪What is Docker Hub?
▪Docker Container Life Cycle
▪Virtualization Vs docker
▪How Docker helps in Automation?
Basic Commands
1)docker version
2)docker -v
3)docker info
4)docker --help
docker --help
Example: Get information about images.....
docker images --help --> Gives you details about how to use images command
docker run --help --> Gives you details about how to use run commands
5)docker login
Images Commands
6)docker images --> lists the images present in the machine
7)docker pull ---> pull the image from docker hub
docker pull ubuntu
docker images --> list the image
8)docker rmi
docker images -q --> Gives you image ID
docker rmi <<image ID>> ----> Deletes image
docker images ---> No Images
Containers Commands
9)docker ps & : docker run
docker ps ---> List the containers, Bo containers as of now.
docker run ubuntu ---> Locally not available ,Pulling image from Dockerhub.
docker ps --> Still not listed contaner, becoz we didi not created container so far....
docker run -it ubuntu ---> inside ubuntu
docker ps ---> lists the container
10) docker start
docker start <<container id>>
11)docker stop
docker stop <<container id>>
System Commands
12) docker stats --> gives details about running containers, memory usage etc.
13)docker system df
14)docker system prune
docker system prune -f --> Removes all stopped containers
Setting Up Selenium Grid with Docker:
https://github.com/SeleniumHQ/docker-selenium
1) Create a file docker-compose.yaml with Required config(Ref: https://github.com/SeleniumHQ/docker-selenium)
2) Run docker-compose.yaml
docker-compose up
3) To check hub & nodes running state:
http://localhost:4444/grid/console
4) To increase number of nodes:
docker-compose scale chrome=3
5) To stop the grid and cleanup the created containers, run
docker-compose down
1) Create a file docker-compose.yaml with Required config(Ref: https://github.com/SeleniumHQ/docker-selenium)
2) Run docker-compose.yaml
docker-compose up
3) To check hub & nodes running state:
http://localhost:4444/grid/console
4) To stop the grid and cleanup the created containers, run
ctrl+c ==> To Stop the current grid
docker-compose down ==> To remove the containers
***************************************************************
Start/Stop Docker grid using bat Files & Java program
***************************************************************
1) Copy the file docker-compose.yaml in the Current Project
2) Create start_dockergrid.bat file in the same Project which contains
cd C:\Users\admin\eclipse-workspace\sdet
docker-compose up
3) Create stop_dockergrid.bat file in the same Project which contains
cd C:\Users\admin\eclipse-workspace\sdet
docker-compose down
4) Create TestNG/Java class to run both the batch files.
5) Run all the tests using TestNG xml together.
6) Run all the tests using pom.xml together.
What is Pipeline?
How to setup BUILD PIPELINE in Jenkins
▪What is Cloud?
▪What is Cloud Computing?
▪Types of Clouds?
▪Cloud Service Models
▪Advantages & Disadvantages of Cloud
▪What AWS?
Terminology:
▪Services: A service can be thought of as the type of work a particular cloud resource provides.
▪Regions and Availability Zone: Amazon EC2 is hosted in multiple locations world-wide. These locations are composed of Regions and Availability Zones. Each Region is a separate geographic area. Each Region has multiple, isolated locations known as Availability Zones.
▪Management Console: Console gives you the ability to start, configure and manage the services you need
▪EC2 (Elastic Compute Cloud): provides scalable computing capacity in the Amazon Web Services (AWS) cloud. Using Amazon EC2 eliminates your need to invest in hardware up front, so you can develop and deploy applications faster.
▪EC2 Instances: Each virtual machine you run up is referred to as an ‘instance’
▪EC2 Instance Types: Defines the the CPU, memory, storage and networking capability of the ‘Instance’.
–More Info: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html
▪AMIs (Amazon Machine Image): Amazon Machine Image (AMI) provides the information required to launch an instance. You must specify an AMI when you launch an instance. You can launch multiple instances from a single AMI when you need multiple instances with the same configuration. You can use different AMIs to launch instances when you need instances with different configurations.
▪Amazon Elastic Block Store (Amazon EBS) : service that provides storage volumes that can be attached to running ‘Instances’
▪Network and Security: ’Instances’ are created in your own Virtual Private Cloud (VPC)
▪Security Groups: security group contains a set of fire wall rules which can then be associated with your ‘Instances’
▪EC2 Key Pairs: Amazon EC2 uses public–key cryptography to encrypt and decrypt login information.
Course Overview: SDET Essentials for Advanced Automation
Elevate your automation testing skills and chart your path to becoming an SDET, Test Architect, DevOps Engineer, or Full Stack QA Automation Engineer with our SDET Essentials course. This comprehensive program is tailored for Automation Testers aiming to take their expertise to the next level.
* Disclaimer : This course requires you to download Docker Desk Top, Git and Jenkins.
What You'll Learn:
Dockerization and Selenium Integration:
Understand and Implement Docker for Virtualization Environments in Automation Tests.
Seamless Integration of Selenium with Docker.
Creating a Dynamic Selenium Grid with Docker.
Advanced Web Automation Techniques:
Leveraging Sauce Labs and BrowserStack for Enhanced Testing.
Deep Dive into Apache Maven:
Maven Fundamentals and Advantages.
POM (Project Object Model) and Maven Project Structure.
Maven Build Life Cycle and Surefire Plugin.
Integrating Selenium with Maven Projects.
Maven Report Generation and CLI Usage.
Git Version Control Mastery:
In-Depth Understanding and Mastery of GIT Commands.
Git Init, Clone, Branching, Checkout, Add, Commit, Push, Pull, Diff, Stash, Status, Log, and Merge.
Jenkins CI & CD:
Comprehensive Overview of Jenkins for Continuous Integration and Continuous Deployment.
Jenkins Pipeline Setups using Plugins.
Creating Jenkins Pipelines with Groovy Scripts.
Database Connectivity and AWS Integration:
Understanding JDBC and ODBC.
Harnessing the Power of AWS for Testers.
Specialized Tools:
Exploring Zelenium for Enhanced Automation Capabilities.
Course Outline:
Dockerization and Selenium Integration:
Docker Basics and Integration with Selenium.
Selenium Grid with Docker.
Selenium Grid and Docker Integration with Jenkins.
Advanced Maven Usage:
Maven Fundamentals and Project Setup.
Maven Build Life Cycle and Surefire Plugin.
Selenium Integration with Maven.
Maven Report Generation.
Git Version Control System:
In-Depth Mastery of GIT Commands.
GIT & GitHub Operations: Commit, Push, Pull, Branching, Pull Request, and Merging.
Jenkins CI & CD:
Understanding Jenkins for Continuous Integration and Deployment.
Jenkins Pipeline Setups using Plugins.
Creating Jenkins Pipelines with Groovy Scripting.
Database Connectivity and Cloud Integration:
Exploring JDBC and ODBC.
Integrating AWS into Automation Testing.
Specialized Automation Tool:
Introduction to Zelenium for Advanced Automation Techniques.
Upon completion of this course, you will not only have mastered advanced topics such as CI, CD, Jenkins, Maven, Docker, and AWS, but you'll also be well-equipped to tackle complex automation challenges and propel your career to new heights.