Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Deploy a Selenium Grid on Azure DevTestLabs VMs.

Creates an Azure DevTest Lab with a selenium-grid setup up on its VMs.


  • Java is automatically installed on the VMs using the windows-chocolatey artifact.
  • Latest versions of Chrome and Firefox (Internet Explorer comes with the OS) are installed on the node VMs along with respective drivers using the windows-selenium artifact.
  • The selenium-grid is setup on the VMs using the selenium-hub and selenium-node artifacts.
  • The grid is also self-healing, that is the hub/node process is brought back up with the last provided configuration in case it crashes or the VM is restarted. This allows you to stop your VMs when not in use and start them back up when necessary.
  • The url which your remote webriver has to use, to run tests against the grid, is output after the deployment successfully completes. Just click on the deployment successful notification and look for the output field.


Q. Can I deploy different nodes with different capabilities/configurations?
A. The ARM template at present only supports homogenous configuration. You may however use the selenium-grid artifacts individually to tweak the configuration of each VM. These artifacts can be found on the Azure Portal in the artifacts blade of any DevTest Lab instance.

Q. Can I change the base OS image or the size of the VMs?
A. The template only exposes inputs related to the configuration of the grid and a few other general inputs. Other Advanced parameters like OS Version (Only Windows OS supported), VM size, VNet configuration etc will have to be modified by editing the template itself.

Q. What OSes are supported?
A. Only Windows OS is supported as of now.

Q. How many VMs are created by the template?
A. The template creates one hub VM and the specified number of node VMs.

Q. I want to run tests on my grid, how do I get the hub Url?
A. You can get the hub Url from the output field after clicking on the notification for successful deployment of the template. If you missed this then you can construct the url yourself. All you have to do is get the ipaddress/fqdn of the hub VM from the DevTest Lab instance you just created and replace it in this pattern - http://{ipaddress or fqdn}:4444/wd/hub