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.

 
6 favorite thumb_down thumb_up 1 comment visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/Structure of the Tutorial

This is a live cloud infrastructure deployment and usage session with some motivation slides at the beginning and most of the time being spent in command line or launching the tests.

Part I.
1) Selenium: history and Selenoid motivation (10 min)
2) Selenoid manual installation from binary:
- Create configuration file (5 min)
- Pull VNC browser images (3 min)
- Start Selenoid and check /status API (2 min)
3) Selenoid and Selenoid UI installation with CM (5 min)
4) Selenoid UI main tabs (3 min)
5) Example test overview (2 min)
6) How to choose desired browser in capabilities (2 min)
7) Live browser screen feature (3 min)
8) Video recording (5 min)
9) Part I: Q&A (5 min)

Part II.

1) Selenoid /status API (5 min)
2) Sending metrics to InfluxDB (10 min)
3) Creating Grafana Dashboard (5 min)
4) ELK stack brief description (5 min)
5) Sending logs to ELK stack, querying the logs (10 min)
6) Part II: Q&A (5-10 min)

Learning Outcome

1) How Selenoid works in general

2) How to install it manually and automatically

3) How to use basic tests debugging features like live browser screen and video recording

4) How to send metrics and logs to centralized storage

Target Audience

Test automation engineers, infrastructure teams and anybody working with Selenium.

Prerequisites for Attendees

General knowledge about Selenium, working with command line and Docker.

schedule Submitted 1 year ago

Public Feedback

comment Suggest improvements to the Speaker
  • David Kirk
    By David Kirk  ~  1 year ago
    reply Reply

    Dang, this looks really cool!  I've pretty much exclusively been using selenium grid, but have been frustrated with its resource usage.  Anything that's lighter on hardware requirements definitely sounds appealing


  • Liked Ivan Krutov
    keyboard_arrow_down

    Ivan Krutov - Reliable. Scalable. Lightning fast. Running 1 000 000 Android tests with Selenoid.

    Ivan Krutov
    Ivan Krutov
    Developer
    Aerokube
    schedule 1 year ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

    Mobile platforms nowadays give more than a half of the worldwide Internet traffic. Being the most widespread platform, Android is slightly more difficult to work with from test automation perspective than traditional desktop browser automation. Last autumn in Berlin I have shown Selenoid - an open-source Selenium protocol implementation that dramatically simplifies working with Selenium for desktop browsers. In this talk I would like to demostrate how it is possible to have the same experience on Android platform for mobile application and mobile web testing.

  • Liked Zachary Attas
    keyboard_arrow_down

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

    Zachary Attas
    Zachary Attas
    Sr. Test Engineer
    ReviewTrackers
    schedule 1 year ago
    Sold Out!
    45 Mins
    Talk
    Beginner

    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)
  • Liked NaliniKanth M
    keyboard_arrow_down

    NaliniKanth M / Srinivasan Sekar - New hope in Selenium Docker

    45 Mins
    Demonstration
    Advanced

    Idea behind this talk is to describe how to create a short lived containers for each test and scale to large Selenium Cluster using Selenoid. What is standard Selenium architecture and why it is not suitable for big clusters, Also states issues in maintaining a large Docker Selenium Grid / Selenium Clusters. In this session we will also be talking about the challenges we faced in using official selenium docker images and how we scaled up regression execution time from 3:3 (3 hours to 3 mins). Followed by a demo of how Selenoid server solves the problem with docker. How it works, how to use inside big Selenium cluster, where else it could be used.

  • Liked David Kirk
    keyboard_arrow_down

    David Kirk - Selenium Grid at Scale through Docker Swarm

    David Kirk
    David Kirk
    Sr. DevOps Engineer
    ReviewTrackers
    schedule 1 year ago
    Sold Out!
    45 Mins
    Tutorial
    Beginner

    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.

  • Liked Artem Eroshenko
    keyboard_arrow_down

    Artem Eroshenko - Allure Framework: new generation test report tool

    Artem Eroshenko
    Artem Eroshenko
    Developer
    Qameta Software
    schedule 1 year ago
    Sold Out!
    45 Mins
    Talk
    Beginner

    Everyone involved in the automated testing has to examine the autotests results. Sometimes it's hard to understand whats going on in your test run. Is test failed because of test problem or product bug? Which tests are unstable (flaky)? How many new problems discovered in last run? Why current test run took more time than the previous one?

    In this talk Artem Eroshenko, Allure Core Developer, will describe how to solve mentioned problems using Allure Framework, present a new major version of Allure and how to integrate Allure with other tools.

    New Allure version brings lot of improvements to the report. Now you can adapt Allure to suite your needs using a plugin system. Besides that, it has a lot of interesting features: test history and retries, problem categories, environments, test analytics and trends, popular tools integrations and so on.