Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
July 14, 2021 02:52 pm GMT

Docker Selenium GridSetup

In this tutorial, we will cover how to set up Selenium Grid with Docker and also go over why we should use Selenium Grid. We will also increase max instances and max sessions for the Selenium Grid in Docker to run tests in parallel.

Why do we need SeleniumGrid?

So before we set up Selenium Grid with Docker, let's first understand why we even need Selenium Grid in the first place?

  • Multiple browsers/devices: Grid makes it much easier for us to run tests on multiple browsers/devices
  • Test execution time: You can reduce overall test execution time by running tests in parallel in Grid
  • Infrastructure: Setting up the infrastructure to run tests on multiple browsers/devices on different OS is also possible to do with the help of Grid

Selenium Grid

Setting up Selenium Grid withDocker

We need to run through the following steps to get Selenium Grid setup with Docker-

  • Setup a network (grid) to communicate between images

docker network create grid

  • Run selenium/hub docker image for running a Selenium Hub

docker run -d -p 4444:4444 --net grid --name selenium-hub selenium/hub:3.141.5920210422

Note: the network name (grid) should be the same as what you provided when creating the network

  • Run Chrome & Firefox images connecting with grid network & selenium/hub host

docker run -d --net grid -e HUB_HOST=selenium-hub -v /dev/shm:/dev/shm selenium/node-chrome-debug:3.141.5920210422
docker run -d --net grid -e HUB_HOST=selenium-hub -v /dev/shm:/dev/shm selenium/node-firefox-debug:3.141.5920210422

Note: the network name (grid) should be the same as what you provided when creating the network and the HUB_HOST name (selenium-hub) should be the same as what you provided when running the selenium/hub docker image

Now, head over to port 4444 and you should see Grid setup with Chrome and Firefox-

Selenium Grid with Chrome &Firefox

Increasing the MAX_INSTANCES & MAX_SESSIONS for theGrid

So far we just have 1 instance of Chrome & Firefox, however, if you need to run multiple tests together, you'll need more instances spun up. You can do that quite easily by adding the parameters when running the docker container for Chrome and Firefox.

docker run -d --net grid -e HUB_HOST=selenium-hub -e NODE_MAX_INSTANCES=3 -e NODE_MAX_SESSION=3 -v /dev/shm:/dev/shm selenium/node-chrome-debug:3.141.5920210422

You can pass NODE_MAX_INSTANCES and NODE_MAX_SESSION environment variables to add multiple instances of the browsers.

  • NODE_MAX_INSTANCES: number of instances of the same version of the browser
  • NODE_MAX_SESSION: number of browsers (any versions) that can run in parallel

Once you do that, you will see something like this below-

Selenium Grid with max instances & maxsessions

Check out the video below to learn more about how to setup Selenium Grid with Docker

Subscribe to my mailing list to get access to more content like this as well as free access to a Private Facebook community

You can follow my content here as well -

...

I love coffees! And, if this post helped you out and you would like to support my work, you can do that by clicking on the button below and buying me a cup of coffee -

Buy me a coffee

You can also support me by liking and sharing this content.

Thanks for reading!


Original Link: https://dev.to/automationbro/docker-selenium-grid-setup-1lg4

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To