More Docker. Easy Access. New Streamlined Plans. Learn more.

selenium/node-edge

Sponsored OSS

By Selenium

Updated about 6 hours ago

Selenium Grid in Node mode with Edge

Image
Integration & Delivery
Web Servers
10

5M+

Selenium Grid Node with Edge

This image provides a Selenium Grid Node with Edge, meant to be used together with a Selenium Grid Hub, which enables you to run WebDriver tests remotely.

How to run this image

The Hub and Nodes will be created in the same network and they will recognize each other by their container name. A Docker network needs to be created as a first step.

  1. Create a Docker Network
docker network create grid
  1. Start the Hub using the created network
docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:latest
  1. Start the Node using the created network
docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \
    --shm-size="2g" \
    -e SE_EVENT_BUS_PUBLISH_PORT=4442 \
    -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \
    selenium/node-edge:latest

If you are using Windows Powershell, use this command:

docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub `
    --shm-size="2g" `
    -e SE_EVENT_BUS_PUBLISH_PORT=4442 `
    -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 `
    selenium/node-edge:latest
  1. Point your WebDriver tests to http://localhost:4444

  2. That's it!

  3. (Optional) To see what is happening inside the container, head to http://localhost:7900/?autoconnect=1&resize=scale&password=secret.

  • When executing docker run for an image that contains a browser please use the flag --shm-size=2g to use the host's shared memory.

  • The example above uses latest as a tag, but we recommend to full tag to pin a specific browser and Grid version. Please see Tagging Conventions for details.

  • A more detailed explanation that shows how to run the Nodes in different configurations can be seen at the Docker-Selenium project in GitHub

  • When you are done using the Grid, and the containers have exited, the network can be removed with the following command:

docker network rm grid

How to choose the correct tag for you

The tag structure is as follows:

selenium/node-edge-<Major>.<Minor>.<Patch>-<YYYYMMDD>

Also with browser version and browser driver version

selenium/node-edge-<browserVersion>-<browserDriver>-<browserDriverVersion>-<Major>.<Minor>.<Patch>-<YYYYMMDD>

Plus all the permutations from the above one

Example of a release with Edge 112, EdgeDriver 112.0 and Selenium Grid Server 4.9.0, released on 20230426
    Edge 112.0
    EdgeDriver 112.0
    Selenium Server 4.9.0
    Release date 20230426


e126989f151e        selenium/node-edge   4
e126989f151e        selenium/node-edge   4.9
e126989f151e        selenium/node-edge   4.9.0
e126989f151e        selenium/node-edge   4.9.0-20230426
e126989f151e        selenium/node-edge   112.0                  
e126989f151e        selenium/node-edge   112.0-20230426         
e126989f151e        selenium/node-edge   112.0-edgedriver-112.0 
e126989f151e        selenium/node-edge   112.0-edgedriver-112.0-20230426
e126989f151e        selenium/node-edge   112.0-edgedriver-112.0-grid-4.9.0-20230426  

With that, you can use any of the different tags to get the most recent release in a simplified way.

Full documentation

The Docker-Selenium project in GitHub has an extensive README that will help you find the correct way to get this images up and running for your use case.

License

The project is made possible by volunteer contributors who have put in thousands of hours of their own time, and made the source code freely available under the Apache License 2.0.

Docker Pull Command

docker pull selenium/node-edge