Selenium WebDriver has become the most used test automation library, slowly growing into an industry standard. The ease of integration with different tools, flexibility to write test in a preferred language, made the adoption of selenium, a recipe for successful web test automation projects. We have been using Selenium with Java, since 2011, developing all our medium to large projects with quality in mind. Selenium helped us deliver reliable products to the markets faster. The automation approach is a perfect match with the Agile process delivery of software applications and a viable solution for test effort time and cost reduction.
Our Selenium preferred recipe
We have been using Selenium with Java, since 2011, developing all our medium to large projects. Selenium helped us deliver reliable products to the market faster. The automation approach is a perfect match with the Agile process delivery of software applications and a viable solution for test effort, time and cost reduction.
Our preferred recipe involves the use of a Java, Maven, JUnit and Serenity-BDD technology stack. Why?
First of all, we have in mind open sources. The main reason for this is the community support. It is widely known that Java has a very good community support on the internet. Added to this, the whole stack is free, tools and documentation. Working with a set of tools can be frustrating when you can’t solve issues or provide more headaches than solutions to your issue. We will not go into more details about Apache and their tools, but as you may know, Jenkins supports Maven out of the box per-se, so the configuration will be less of a hassle.
Test automation with Selenium
Lastly, we wanted to go with a more detailed reporting, JUnit is a great testing framework but was intended for unit testing, thus reporting needed some improvements to fit our needs. Luckily, a very bright man (Jon Smart) had built Serenity-BDD (previously known as Thucydides) that is really a reporting framework for Selenium. I would highly recommend checking out the Serenity-BDD reports, they are awesome.
Some things to note about the framework, are that you may create JUnit or Cucumber projects and reporting is still built. Selenium is used for the browser interaction, while Serenity records all the actions performed in the test. The output of the test run is a neat website, fully functional that will display total results, failures and provide a step by step reporting and print screens for all actions during each test.
With this approach, traceability of test execution is highly improved, since all project stakeholders can see the reports in a visual manner. Debugging is faster, communication of issues is improved with detailed reports of test execution and validation.
This was just a glimpse in one of the many possibilities of test automation with Selenium. We will later discuss in more practical details, how you can configure your own project and have a great time with test automation, fast, reliable and at a low cost.