Everyone in the software automation industry has heard of Selenium, the open source automation framework for web applications. Selenium is applicable across many different browsers and platforms. Beyond that, its ease of use and framework support make it a powerful quality engineering tool capable of creating thorough, browser-based regression automation suites. Over the years, Selenium Webdriver has become the popular choice for creating and distributing automation scripts across multiple environments.
But what if someone took the time to develop a Selenium wrapper using other open source applications in such a way that when implemented, allows for engineers to significantly speed up the entire CI/CD process?
That’s exactly what we did.
For the past several years, Beta Breakers has been tasked with automation projects from clients in the fields of E-Commerce, Healthcare, Gaming, and Streaming. Each new project brought its own set of challenges that basic Selenium could not address. In that time, we have been building and refining a framework for web and mobile testing that combines the automation drivers of Selenium with a convenient, configurable, tree-based way of handling pages and elements. This tree-based approach contrasts the industry standard page-object model by making it much easier to specify elements, specify pages, and maintain these values in the actual codebase, which in turn significantly ramps up test development and maintenance time. Our automation suites are built in the form of a templated Maven project for rapid development that can be integrated into a development team’s CI/CD pipeline which provides them with instantaneous feedback. Furthermore, this framework incorporates Cucumber and its plain language parser, Gherkin, which allows our front-end test cases to clearly describe expected user behaviors in plain English. Accordingly, we can create clearly described test results in the form of Cucumber reports.