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

During my previous talks I was speaking about Selenoid - a truly efficient replacement of the standard Selenium server. This year I would like to do a live demonstration how to organize a fault-tolerant and easily scalable Selenium cluster using virtual machines in the cloud. I will start by setting up Selenoid and show its powerful features like video recording, live tests debugging, manual testing and many more. Then I will configure Selenoid to send logs and recorded videos to S3-compatible storage. Finally we will run a Ggr load balancer instance allowing to use all running Selenoid nodes and organize a single entry point to the cluster.

 
 

Outline/Structure of the Demonstration

Part I

* Selenoid motivation
* Various ways of running Selenoid
* Basic Selenoid features: video recording, log recording, manual sessions, Chrome Devtools Protocol support

Part II

* S3 motivation
* Using Selenoid with S3 support
* What is Ggr and how to start using it

* Notes on running Ggr in multiple datacenters (2 min)

======================================================
======================================================

DETAILED PROGRAM:

Part I. Useful Selenoid features

[ ] Selenoid motivation (10 min)
[ ] Run Selenoid in DigitalOcean from ready-to-use image (2 min)
[ ] Run Selenoid using CM tool with last 3 versions of each browser (3 min)
[ ] Example test overview (2 min)
[ ] Run example test with video and log recording (2 min)
[ ] Selenoid video and log listing as JSON (2 min)
[ ] Selenoid UI video listing (2 min)
[ ] Selenoid UI manual testing (3 min)
[ ] Chrome Devtools Protocol Theory (5 min)
[ ] Selenoid + Puppeteer Demo (5 min)
[ ] Part I: Q&A (5-10 min)

Part II. Scaling Selenoid

[ ] S3 motivation (2 min)
[ ] Start second VM. Build Selenoid with S3 support and respective Docker image (5 min)
[ ] Create S3 bucket and get credentials (3 min)
[ ] Start custom image with S3 support (3 min)
[ ] Run test and make sure videos \ logs are saved to S3 (2 min)

[ ] Ggr (2 min)
[ ] Start Ggr VM. Create Ggr user and quota files (5 min)
[ ] Start 1 Ggr load-balancer over quota files and check /ping API (3 min)
[ ] Run test against Ggr (2 min)
[ ] Notes on running Ggr in multiple datacenters (2 min)

[ ] Part II: Q&A (5-7 min)

Learning Outcome

1) What Selenoid is and how to quickly start using it in your project

2) What are the most important Selenoid features

3) How to scale this solution to a reliable cluster

Target Audience

Everybody interested in reliable and feature-rich Selenium infrastructure.

schedule Submitted 7 months ago

Public Feedback

comment Suggest improvements to the Speaker
  • Srinivasan Sekar
    By Srinivasan Sekar  ~  6 months ago
    reply Reply

    Hi Ivan,

    Thanks for your submission. Can you please update the time-wise breakup in the outline above?  It will help us understand how it is different from your previous talks in a much better way.

    • Ivan Krutov
      By Ivan Krutov  ~  6 months ago
      reply Reply

      Hey, added "DETAILED PROGRAM" section at the end of Outline/Structure section. Note that initially this is a 2x45 minute demo. By request I could update the program to fill any desired time slot.

      • Srinivasan Sekar
        By Srinivasan Sekar  ~  6 months ago
        reply Reply

        Thanks for quick turnaround.


  • Liked Simon Stewart
    keyboard_arrow_down

    Simon Stewart - Selenium: State of the Union

    Simon Stewart
    Simon Stewart
    Project Lead
    The Selenium Project
    schedule 6 months ago
    Sold Out!
    45 Mins
    Keynote
    Intermediate

    What's the latest in the world of Selenium since the last SeleniumConf? In this talk, we'll cover Selenium 4, how the project is run, how you can participate, reminiscing on the Old Days, and reflect on something that at first doesn't appear to be related to Selenium, yet is intimately related to it.

  • Liked Shweta Sharma
    keyboard_arrow_down

    Shweta Sharma / Nikita Jain - Accessibility testing 101

    45 Mins
    Talk
    Beginner

    "This world is such a beautiful place to live in." If you can read the first sentence without any screen readers or assistance, you're privileged. As technologists, shouldn’t we be more empathetic towards differently-abled people and make all parts of our website accessible to them? In my humble opinion, the true power of technology can be identified when it reaches out to people of all kinds having different physical or psychological challenges. We not only legally bound to provide Accessibility but also it should be considered as our moral responsibility.

    As testers, we have a wonderful opportunity to contribute to Accessibility by ensuring that the site is accessible in many different ways. Although it is impossible to identify all the issues that exist around Accessibility in the world, we are lucky enough to still understand a majority of them. With this understanding, there have been many measures taken in order to make your site accessible. But, don’t forget - we are QA engineers. We got to ensure that the site is accessible as per the standards set by WCAG 2.0 (AA) by testing for accessibility using various tools and techniques.

  • Liked Virender Singh
    keyboard_arrow_down

    Virender Singh - Rise of Shadow DOM - Lets solve it through WebDriver

    45 Mins
    Demonstration
    Beginner

    Shadow DOM is kind of web standard that developers use to encapsulate their custom HTML code and style components so that no other global style components can override their code. It ensures that a component will work in any environment, even if other CSS or JavaScript is run on the page i.e. Shadow DOM hides away the complexity of the components from the rest of the page because it renders separately from main DOM.

    Selenium legacy selectors are not able to interact these custom elements under the shadow DOM so we need java script to interact with shadow DOM elements and we also require JavascriptExecutor interface for their execution.

    We will also talk about the WebdriverIO tool v5.5.0, which implicitly support Shadow DOM elements.

     
     
  • Liked Ivan Krutov
    keyboard_arrow_down

    Ivan Krutov - Workshop: Efficient Selenium Infrastructure with Selenoid

    Ivan Krutov
    Ivan Krutov
    Developer
    Aerokube
    schedule 7 months ago
    Sold Out!
    480 Mins
    Workshop
    Intermediate

    Selenoid is an alternative lightning fast open-source Selenium protocol implementation running browsers and Android emulators inside Docker containers. It is distributed with a set of ready-to-use Docker images corresponding to the majority of popular browser versions, has a one-command installation utility and works slightly more efficiently than traditional Selenium Grid.

    This tutorial shows how to build efficient and scalable browser automation infrastructure using Selenoid and related tools. You will be taught why running browsers in containers is so efficient, how to easily install Selenoid and use its powerful features.

  • Liked Ivan Krutov
    keyboard_arrow_down

    Ivan Krutov - Unleash the power of Chrome Developer Tools with Selenoid

    Ivan Krutov
    Ivan Krutov
    Developer
    Aerokube
    schedule 7 months ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

    Being a mainstream and widely used browse automation tool Selenium protocol however still lacks many important features: network requests analysis, application performance profiling, accessibility tree access and many more. Hopefully all of them are already supported in so called Chrome Developer Tools protocol and which is more important this protocol is already supported in Selenoid - an extremely efficient Selenium solution running browsers in isolated Docker containers. In this talk I will tell you what is Chrome Developer Tools protocol, how it works, what are its powerful features and how to use the most important features of this protocol in different browsers being run remotely and in parallel.

  • Liked Raj Subrameyer
    keyboard_arrow_down

    Raj Subrameyer - How to build a neural network in under 5 minutes using Brain.js

    45 Mins
    Demonstration
    Beginner

    Artificial neural networks are one of the many approaches to Machine Learning (ML). It is based on the neural network of the human body where each neuron keeps learning and interconnects with other neurons to perform different actions based on different responses. We are currently surrounded by several neural networks used in various fields to solve different kinds of problems. This being the case, for most of us building and training a neural network still remains a mystery.

    Come attend this session, where I demystify neural networks and show how easy it is to build your own neural network in under 5 minutes using Brain.js. I will first cover the basics of AI, ML and Deep learning. Then, I will walk you through a step by step process of building a neural network in a live demo session. Discuss how this is applied to the field of software development and testing. This session will prove to you that, there is no need to be a data scientist to train your own models. Anyone just interested to learn about AI can get started on this journey. Both technical and non-technical people will be able to build their own models after this session.

    This session will prove to you that, there is no need to be a data scientist to train your own models. Anyone just interested to learn about AI can get started on this journey using the power of open source frameworks. In this case it is Brain.js.

  • Liked Roman Orlov
    keyboard_arrow_down

    Roman Orlov - 5 reasons to run your Selenium tests in Kubernetes... and how to do that

    Roman Orlov
    Roman Orlov
    DevOps
    Aerokube
    schedule 7 months ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

    During the last years we in Aerokube team created and demonstrated truly efficient Selenium tools: Selenoid and Ggr. With two small daemons you can easily organize a reliable Selenium cluster where each browser will be running in separate Docker container.

    In this talk I would like to address another important question - Selenium cluster resources consumption. I will explain step by step why running browsers in Kubernetes cluster can dramatically decrease your Selenium cluster cost. You will see how to consume times less computing resources and still have the same powerful Selenium features like video recording, debugging running tests, creating browser sessions for manual testing and so on.

    I will show how to install, manage and scale Selenium cluster in Kubernetes using Aerokube Moon solution and compare resulting cluster cost to other popular solutions.