Automated web application testing with Gradle and Selenium
Doing full stack testing (sometimes referred to as “functional” or “acceptance” testing) of web applications is a non trivial business. While such tests are undisputedly more costly to develop, maintain and execute than simple unit tests, that's no excuse to ignore this crucial aspect of a comprehensive testing strategy. Many teams still rely on expensive manual testing for coverage at this level, citing the difficulty in managing a large body of automated functional tests. In this session we'll look at how Gradle can help by orchestrating the necessary components of a Selenium 2 based toolchain.
We'll look at how Gradle's flexibility and extensibility can be used to; provision browsers to be used for testing, parameterizing test execution, grouping tests, executing tests across different browsers, parallelizing test execution in different ways and merging test results. We'll implement a focussed build framework for developing, executing and maintaining automated web tests using Java, Selenium, TestNG and using Jenkins to run our tests for us. Automated web tests have a high cost but an extremely high value, as they can give you confidence that your software actually works when fully assembled. We'll see how Gradle can reduce the cost aspect of this equation without sacrificing on the value.
Finally, we'll briefly look at using some more progressive tooling by using Geb in place of Selenium and the Spock Framework in place of TestNG. The Geb and Spock Framework tools are both side projects of Gradleware core engineers.
About Luke Daley
Luke works @ Gradle Inc. building Gradle Enterprise. He's also an open source tragic and is the creator of Ratpack https://ratpack.io. When not hitting the keyboard, he's likely drinking IPA or playing guitar.
More About Luke »