Creating a Selenium Grid with Germanium
Setting up the infrastructure is trivial using a Germanium provisioned Selenium Grid. The container images are available in Docker, and even Germanium itself runs its regression tests against a Selenium grid now.
In the docker repository, Germanium offers now:
the Selenium Hub
a node that allows instantiating Chrome browsers, that will register to the Hub, published as
a node that allows instatiating Firefox browsers, that will also register to the Hub, published as
Bringing up the Germanium in the test environment is actually done with:
docker run -d \ --name germanium-hub \ -p 4444:4444 \ germaniumhq/hub docker run -d \ --name germanium-chrome-node \ -p 15901:5901 \ --link germanium-hub:hub \ germaniumhq/node-chrome docker run -d \ --name germanium-firefox-node \ -p 15902:5901 \ --link germanium-hub:hub \ germaniumhq/node-firefox
The rest of the VMs that are used to test IE, are running independently and register to the same hub, as pictured in the following diagram:
Provisioning the Windows Machines
In order to install the Selenium nodes on the Windows machines, Germanium offers now a tool that will do that for you. You can find it at https://germaniumhq.com/get.
This standalone executable will detect the supported browsers installed on the platform, if Java is installed or not, and will download all the Selenium dependencies that are required, the binary drivers, install Java if necessary, and generate a configuration file so you can just connect the newly provisioned node into your Selenium Hub.
That means you just need to run the
germanium-get.exe file, press
Enter a bunch of times, type in the IP of your Selenium Hub, and start the node by double clicking the start batch file (you’ll even have a shortcut created on your desktop).
From that moment, you can just open browsers against your configured grid using the normal Germanium
Of course, if you have other browsers registered into your hub, you can also use them: