MANOJ KUMAR KUMAR CONTAINER CAMP 2017-SYDNEY
BUILDING TEST-AUTOMATION INFRASTRUCTURE
▸ Open source enthusiast
▸ Selenium member
▸ Author assertselenium.com
▸ Organizer seleniumconf.com
▸ Tweets: @manoj9788 | LinkedIn: manojkumar9788
▸ It’s all about continuous delivery
Continuous Integration >
Continuous Testing >
▸ Browser Automation library
▸ A suite of tools
▸ W3C candidate recommendation
▸The intermediary and the manager
▸Allocates Test Slots to nodes
▸Takes instructions directly from client, and executes them remotely on nodes
▸Registers itself to Hub listed in conﬁg
▸Communicates its conﬁg to the Hub at registration time:
▸Test Slots per browser
“Hey Hub, I have 1 Slot for Firefox, 5 for Chrome”
▸Receives JSON wire protocol instructions from the Hub
▸ Tests start growing
▸ Parallelization reduces time
▸ VM’s are heavy and costly to maintain
Docker Containers to rescue
‣ All pre-requisites to run selenium tests are already packaged.
‣ Also for mobile..
Use Docker-compose to scale easily
▸ selenium/hub: Image for running a Selenium Grid Hub
▸ selenium/node-chrome: Selenium node with Chrome installed.
▸ selenium/node-ﬁrefox: Selenium node with Firefox installed.
▸ selenium/node-phantomjs: Selenium node with PhantomJS installed
▸ selenium/node-chrome-debug: Selenium node with Chrome installed and
runs a VNC server.
▸ selenium/node-ﬁrefox-debug: Selenium node with Firefox installed and runs
a VNC server.
All these images needs to be connected to a Selenium Grid Hub
https://github.com/manoj9788/kubernetes-docker-selenium - Star it! :)
Self-healing capability - helps restart the node when it goes down automatically, which helps in test
Scale containers - replicas
Use Helm package
$ helm install stable/selenium
KUBERNETES - SELENIUM