Speed and stability of automated test execution is a major challenge for any successful CI/CD implementation. This is largely governed by the test execution infrastructure.
For our DevOps approach to be successful, we needed a test infrastructure that is highly available, stable and also easily scalable under load. To that end, we built a Selenium Grid using AWS services that can be spun up on-demand, supports auto-scaling and can be easily disposed of after use, using docker and AWS container orchestration service called Fargate.
Benefits and Takeaways : There are many benefits of this solution –
1. Provides faster execution by running tests in 1000s of browsers. Further, this can be a very cost-effective solution as cloud-based Selenium Grid can be switched off when not needed.
2. Lowers test-maintenance since hardware does not need to be managed or patched from time to time
3. The Grid is stood up from a json-template. So browser versions can be changed simply with a small change in template.
4. Auto-scaling logic is integrated. That means, more browsers can be added on-the-fly under heavy load.
I have a total of 6 years work experience as a Quality Engineer. I have worked extensively in test automation of web, mobile and services along with building and maintaining test frameworks in Java and C#. Also have a heavy exposure in Continuous Integration, Docker and DevOps practices. Passionate about open-source technologies and look for opportunities to optimise existing frameworks and workflows for faster delivery.