Scalable & Lightning fast Test Infrastructure in AWS
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
- 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.
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
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.
QA, QA-Ops, SDET
Prerequisites for Attendees
Brief idea on the following would be advantageous
- Docker containers
- Kubernetes (Nice to have)
- AWS (Nice to have)
schedule Submitted 2 years ago
People who liked this proposal, also liked:
Denys Pavlenko - Integrating Selenium tests into GitLab CIDenys PavlenkoEngineering ManagerPersonio GmbH (Munich)
schedule 2 years agoSold Out!
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.
Ivan Krutov - Workshop: Efficient Selenium Infrastructure with SelenoidIvan KrutovDeveloperAerokube
schedule 2 years agoSold Out!
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.
Khanh Do - Leveraging Artificial Intelligence to create self-healing testsKhanh DoQA ArchitectKobiton
schedule 2 years agoSold Out!
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.