Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Zalenium - SeleniumConf Austin 2017

862 views

Published on

We know how complicated it is to have a stable grid, and how hard it is to maintain over time with enough capabilities to cover most browsers and platforms. Internally, we found that ~75% of our tests were executed in Firefox/Chrome, and the remaining were executed in Safari/IE. We decided to develop a tool where docker-selenium nodes are created, used and disposed on demand. For Safari/IE, we just forward the tests to Sauce Labs/BrowserStack.

Zalenium is an OSS extension to scale up and down your local grid dynamically with Docker containers. It uses Docker-Selenium to run tests in Firefox/Chrome, and when a different browser is needed, tests get redirected to a cloud testing service. Result: our tests suites run faster since most of the tests run on local Firefox/Chrome nodes, and we use in a smarter way the cloud testing service we pay for.

Diego Molina – Software Engineer in Test, Zalando SE
Leo Gallucci – Software Engineer, Tools and Infrastructure, Zalando SE

Published in: Software
  • Be the first to comment

Zalenium - SeleniumConf Austin 2017

  1. 1. ZALENIUM ALLOWS ANYONE TO HAVE A DISPOSABLE AND FLEXIBLE SELENIUM GRID INFRASTRUCTURE DIEGO MOLINA - LEO GALLUCCI 05-04-2017
  2. 2. 2 What is Zalando? Who are we? Demo The Idea What is Zalenium? Why Zalenium? How it works TABLE OF CONTENTS Questions
  3. 3. 3 ZALANDO WE ARE CONSTANTLY INNOVATING TECHNOLOGY HOME-BREWED, CUTTING-EDGE & SCALABLE technology solutions >1,600 employees from tech locations + HQs in Berlin6 77 nations help our brand to WIN ONLINE
  4. 4. 4 Visit https://github.com/zalando/zalenium Leo Gallucci Software Engineer in Test @elgalu Diego Molina Software Engineer in Test @diegofmolina
  5. 5. 5 THE IDEA Visit https://github.com/zalando/zalenium A grid that scales using docker-selenium containers... … and all non supported capabilities are sent to a cloud testing provider.
  6. 6. HAVE YOU USED SELENIUM GRID?HAVE YOU TRIED TO BUILD YOUR OWN SELENIUM GRID?
  7. 7. 7 WHAT IS ZALENIUM? ●  Dynamic, on-demand Selenium Grid ●  Expands and contracts during run time ●  Based on docker-selenium ●  Simple to setup and run ●  and many more features... Visit https://github.com/zalando/zalenium
  8. 8. 8 ●  Hard to maintain a stable Selenium Grid ●  Difficult to cover all needed capabilities ●  Allow anyone to have a disposable and flexible Selenium Grid infrastructure ●  Using the appropriate tool for your environment WHY ZALENIUM? Visit https://github.com/zalando/zalenium
  9. 9. 9 HOW IT WORKS HUB docker-selenium Starter ProxyCloud Proxy Selenium Test 1 SCENARIO docker-selenium Visit https://github.com/zalando/zalenium
  10. 10. 10 HOW IT WORKS HUB docker-selenium Starter ProxyCloud Proxy Selenium Test 2 SCENARIO Visit https://github.com/zalando/zalenium
  11. 11. 11 docker pull elgalu/selenium docker pull dosel/zalenium docker run --rm -ti --name zalenium -p 4444:4444 -p 5555:5555 -v /var/run/docker.sock:/var/run/docker.sock -v /tmp/videos:/home/seluser/videos dosel/zalenium start STARTING ZALENIUM Visit https://github.com/zalando/zalenium curl -sSL https://raw.githubusercontent.com/dosel/t/i/p | bash -s start <run your tests…> curl -sSL https://raw.githubusercontent.com/dosel/t/i/p | bash -s stop
  12. 12. 12 export SAUCE_USERNAME=<your Sauce Labs username> export SAUCE_ACCESS_KEY=<your Sauce Labs access key> docker run --rm -ti --name zalenium -p 4444:4444 -p 5555:5555 -e SAUCE_USERNAME -e SAUCE_ACCESS_KEY -v /var/run/docker.sock:/var/run/docker.sock -v /tmp/videos:/home/seluser/videos dosel/zalenium start --sauceLabsEnabled true STARTING ZALENIUM WITH A CLOUD TESTING PROVIDER Visit https://github.com/zalando/zalenium export SAUCE_USERNAME=<your Sauce Labs username> export SAUCE_ACCESS_KEY=<your Sauce Labs access key> curl -sSL https://raw.githubusercontent.com/dosel/t/i/p | bash -s start
  13. 13. DEMO Visit https://github.com/zalando/zalenium
  14. 14. 14 •  While developing tests locally •  Run your UI tests in your CI environment for a PR •  You have a big server and want a local grid •  When releasing: •  If Chrome and Firefox are enough, use only Zalenium •  Or combine it with a cloud testing provider for better coverage WHEN TO USE ZALENIUM - SCENARIOS Visit https://github.com/zalando/zalenium
  15. 15. 15 Users ZALENIUM IN NUMBERS > 53K > 380 7.4KDocker Pulls 140 6 Github stars Contributors Executed tests > 30Countries
  16. 16. MORE INFORMATION ●  https://github.com/zalando/ zalenium ●  https://tech.zalando.com/ ●  https://gitter.im/zalando/zalenium
  17. 17. Visit https://github.com/zalando/zalenium

×