John Ferguson Smart

John's latest articles

Multi-browser and multi-environment testing in Serenity BDD

Posted by John Ferguson Smart

Sometimes we might want to run the same test in different environments, or on different browsers, and still see each test run appear in the reports. The latest version of Serenity BDD allows you to implement multi-browser and multi-environment testing using the notion of contexts. A context is a way of running the same test several…

Read More

Generating focused reports with Serenity BDD

Posted by John Ferguson Smart

Many Serenity users that I work with and talk to have projects with a very large number of tests, spread over many functional areas and many different teams. It is useful to have an overall view of all of the test results, but it is also useful to limit the test results to show only…

Read More

Configuring different output directories with Serenity BDD and Maven

Posted by John Ferguson Smart

Serenity BDD is an open source automated testing library geared towards writing high quality, highly maintainable automated acceptance testing, and using these acceptance tests to produce world-class living documentation. In this article, we look at how to get Serenity to generate its reports in different directories, in both simple and multi-module Maven projects. By default, Serenity…

Read More

Serenity Tricks with Java 8

Posted by John Ferguson Smart

Java 8 came out back in 2014, but I still find many teams not making as much use of it’s features as they could. Arguably the biggest new feature in Java 8 were Lambda Expressions, which finally brought a taste of functional programming to the Java world. In this article, I want to give a…

Read More

Serenity BDD Tip: fine-tuning screenshots in your living documentation

Posted by John Ferguson Smart

One of the distinguishing features of Serenity BDD is its powerful reporting capabilities. If you organise and structure your tests well, Serenity can help you turn your tests into a sort of light-weight functional documentation, describing both what your application does in high level terms, and how users use the application to achieve specific goals….

Read More

© 2019 John Ferguson Smart