Quality Assurance is an important term in the lifecycle of a software product. When it comes to QA, there are a lot of layers of testing which includes but not limited to Unit testing, Integration testing, UI testing. If we consider the test pyramid, although UI testing forms only a small percentage of the tests, it's an important factor in deciding the quality of the product. One of the main pain points in having a UI test is the execution time. To overcome this, we now have the tests that are executed in parallel. While designing a test infrastructure for executing the UI tests in parallel, there are a lot of factors that need to be considered. Some of them are

  • Scalability
  • Reliability
  • Resource constraints

Taking into account the different tools which are available now in the market, one of the most efficient tool which satisfies the above criteria is "Selenoid"

Selenoid is a powerful Go implementation of original Selenium hub code. It is using Docker to launch browsers. One of the main advantages of selenoid is that its' lightning fast. Selenoid launches a new container for each new browser request and stops it after the session is closed. A certain browser version, the required version of the web driver which supports this browser and all necessary dependencies form each container. Selenoid also support most of the popular browsers such as Chrome, firefox etc.

This presentation will be to show case how to create a scalable selenoid infrastructure in AWS cloud with the help of kubernetes and this is being used at our fast growing startup based on Munich, Germany. We will also show case the comparison between different tools that are available in the market.

Architecture

https://drive.google.com/open?id=1Uz5S2KEyCYHNqarppU9HA4zMdkahzIuY

 
 

Outline/Structure of the Demonstration

  • A short intro to Selenoid, GGR for load balancing
  • An intro about configuration manager for Selenoid
  • Comparison between different tools for test infrastructure
  • A short intro to Kubernetes
  • How to create the Kubernetes yaml file for selenoid deployment
  • How to integrate to any of the testing framework which uses Selenium
  • Demonstrating a test run
  • Using VNC viewer to view the live execution of the tests through Selenoid UI
  • How to record the videos of the running tests and how to access it
  • Maintenance. How to update the browsers at necessary intervals and effort required
  • Q & A

Learning Outcome

The main learning outcome are

  • They will be able to create a scalable and reliable test infrastructure in AWS cloud.
  • They will be able to solve the problem with unstable test infrastructure.
  • They will be able to run the tests lightning fast.

Target Audience

QA, QA-Ops, SDET

Prerequisites for Attendees

Brief idea on the following would be advantageous

  • Selenium
  • Docker containers
  • Kubernetes (Nice to have)
  • AWS (Nice to have)
schedule Submitted 3 months ago

Public Feedback

comment Suggest improvements to the Speaker
  • Pallavi ...
    By Pallavi ...  ~  2 months ago
    reply Reply

    Can you please help me understand what all tools in the market you would be comparing your solution with?

    will there be a live demo associated with you talk?

     

    • Arun Prakash
      By Arun Prakash  ~  2 weeks ago
      reply Reply

      We'll be comparing with some of the paid and open source tools like browserstack, saucelabs, selenium grid, zalenium, AWS device farm browser desktop, moon. There'll be a live demo as well

  • Robin Gupta
    By Robin Gupta  ~  3 months ago
    reply Reply

    While the topic is of high importance to the audience, the pre-requisites for understanding the talk are pretty high covering the below technologies, therefore the content must be simplified to cover a wide audience:

    • Docker
    • Kubernetes
    • AWS/Lambdas
    • Selenoid

    Also,

    Can you please add the below aspects to the presentation?

     1. A general outline/structure/time division of the presentation
     2. While the current content fairly describes the problem statement/solution, adding technical details such as architectural diagrams, code snippets or github repo can help the audience with implementation of the framework.
     3. A short video of the presentation done earlier, or a similar presentation
     4. Challenges/Work arounds of the approach followed here
     5. Open source alternatives (if any) for the paid tools in the tool chain.

    • Arun Prakash
      By Arun Prakash  ~  2 months ago
      reply Reply

      Thanks Robin for the comment. I’ll update the details shortly

      • Pooja Shah
        By Pooja Shah  ~  2 months ago
        reply Reply

        Hi Arun, 

        Could you add upto Robin's queries. Most importantly point 3. Every bit of information helps.

        • Arun Prakash
          By Arun Prakash  ~  2 weeks ago
          reply Reply

          Sorry for the late reply. I didn't have a video to share. I've done a talk last week and the presentation link is added


  • Liked Denys Pavlenko
    keyboard_arrow_down

    Denys Pavlenko - Integrating Selenium tests into GitLab CI

    45 Mins
    Demonstration
    Intermediate

    GitLab is the first single application for the entire DevOps cycle. Only GitLab enables Concurrent DevOps, unlocking organizations from the constraints of the toolchain. GitLab provides unmatched visibility, higher levels of efficiency, and comprehensive governance. This makes the software lifecycle 200% faster, radically improving the speed of business.

    Taking into account the fast growth of GitLab in recent years and it’s prominent advantages, you might be required to start running Selenium tests in GitLab or even migrate your end2end tests from your previous CI tool to GitLab.

    Step by step guide will provide you the main challenges, key configurations, pitfalls in order to integrate and successfully run Selenium tests in GitLab CI. The wrapper around the Selenium to be presented is going to be Protractor with a built-in Jasmine test runner.

    The presentation will also showcase some main tips and tricks we’ve faced during this integration at our fast-growing startup in Munich, Germany.

  • Liked Ivan Krutov
    keyboard_arrow_down

    Ivan Krutov - Workshop: Efficient Selenium Infrastructure with Selenoid

    Ivan Krutov
    Ivan Krutov
    Developer
    Aerokube
    schedule 4 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 Khanh Do
    keyboard_arrow_down

    Khanh Do - Leveraging Artificial Intelligence to create self-healing tests

    Khanh Do
    Khanh Do
    QA Architect
    Kobiton
    schedule 5 months ago
    Sold Out!
    45 Mins
    Tutorial
    Intermediate

    A key requirement for successful test automation is to get past the brittle or fragile nature of test scripts. Any Selenium (or Appium) developer has encountered the dreaded "NoSuchElement Exception". A locator that worked yesterday may fail today. What's a test engineer to do?

    Fortunately the field of AI provides promising solutions and allows for the creation of self-healing tests. Tests that can find elements across all environments. Tests that can learn from "human-in-the-loop" intervention and work perfectly thereafter. Imagine automated tests that "just work"!

    This session will look at how to apply the latest in AI and Machine Learning technologies to improve your test scripts. With the plethora of new open source AI libraries made available by companies such as Google, the ability to leverage AI in your applications is more accessible than ever.

    This session will be a primer on AI technologies and how they can be utilized for perfect test automation.