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/file/d/1Uz5S2KEyCYHNqarppU9HA4zMdkahzIuY/preview