Selenium Grid enables developers to significantly parallelize their testing pipeline. This strength can be empowered even further by leveraging the capabilities of Docker Swarm to efficiently utilize available resources and dynamically scale your testing capabilities. With the tools provided by Selenium and Docker, we can build a robust, scalable, and cost efficient browser testing platform without a significant degree of difficulty.

In this talk, we will cover how to build a Selenium Grid through docker swarm, how to scale that grid, how to test against it, what sort of computing resource requirements should be provided, and my personal experiences implementing this system.


Outline/Structure of the Tutorial

  1. Brief introduction to my background
  2. Introduction to docker/docker swarm
  3. How to set up a docker swarm
  4. How to configure a selenium grid stack
  5. How to run tests against that stack
  6. Some things to note - lessons I've learned, along with computing resource requirements

Learning Outcome

By the end of this talk, you should be able to go out and deploy your own selenium grid through docker swarm. Once you know how to do it, it's not difficult at all. The hard part is getting the information on how to implement it - which I'm excited to provide!

Target Audience

Anyone who wants to scale their parallelized testing efforts

Prerequisites for Attendees

It will be helpful to understand the basics of how docker, or at the very least virtual machines, work.


schedule Submitted 4 years ago

Public Feedback

    • Zach Attas

      Zach Attas - How to Un-Flake Flaky Tests- a New Hire's Toolkit

      Zach Attas
      Zach Attas
      Lead SDET
      schedule 4 years ago
      Sold Out!
      45 Mins

      It's a common scenario - you are starting a new job as a test engineer, excited to improve your new organization's testing culture, eager to instill confidence in the software, and BAM! instead of writing new tests, you are tasked with fixing legacy ones! If this sounds familiar, this talk is for you. I'll cover strategies for taking inventory of flaky tests and setting goals to address flakiness across a test suite. In addition, you will learn to get to the bottom of what's causing flakiness in your tests, and to communicate with other engineering teams about those tests. Although everyone's application has its own quirks, and every organization has its own workflows, this talk aims to give advice that anyone can use in their own tests and when dealing with their fellow engineers. By the end of this talk, you will feel confident enough to debug your own flaky tests, and get to the fun part - writing new ones!

      Here are some alternate presentation titles, for your amusement:

      • Keep The Flakiness for Your Croissant: How to Un-Flake Your Automated Test
      • Bake The Flake Out of Your Tasty Test Cake
      • Flake It Off, Flake It Off: How to Un-Flake Your Flaky Test (T-Swift theme)
    • Sneha Viswalingam

      Sneha Viswalingam - Building The Blocks of Trust In Automation

      45 Mins
      Case Study

      Having followed best practices set from previous Selenium Conference talks, my team was able to shift from flaky tests to stable and reliable automated tests. During that time, I learned the importance of building trust in the test suite to unite the team as a whole. Once trust was established in the automated tests, it became crucial to the overall software development lifecycle. It has been an interesting journey to gain the confidence of the organization and have them believe that the automation effort has their backs.

      In this talk I will cover the following topics:

      1. Strategies that I used to make the tests reliable
      2. Explaining why it was important to train the manual testers to write feature files and thus help expand the automation suite using their subject matter expertise
      3. Presenting ways to improve visibility in automation to reinforce trust

      By implementing these steps in my organization, I have built trust not only within the test suite but into the team as a whole.

    • Ivan Krutov

      Ivan Krutov - Selenoid: get rid of Selenium server!

      Ivan Krutov
      Ivan Krutov
      schedule 4 years ago
      Sold Out!
      90 Mins

      Browser tests are known to be the flakiest ones. This is partly because browser infrastructure is complicated to maintain. But the second reason is – main stream browser automation tools such as Selenium server are far from being efficient.

      As your company grows – your browser automation infrastructure should easily adapt to increased loads and new requirements. Unfortunately this is not so easy to get really scalable Selenium cluster using only the main stream tools. But there are some new open-source tools and approaches that can be used to deliver really scalable Selenium cluster.

      This tutorial covers an emerging browser automation tool – Selenoid, a truly efficient replacement of the standard Selenium server. I will explain how it works and why it is so fast. I will show in details features like video recording, sending logs and statistics to centralized storage and how to easily visualize this data.