Sharing state between steps in Serenity BDD

Posted by John Ferguson Smart

Whether you are using Cucumber, JBehave or just JUnit, Serenity BDD encourages a layered, structured approach to automation. The reason for this is simply that it makes the tests easier to understand and maintain, and faster to write in the medium term. But people often wonder what is the best approach to share information between…

The Art of Building Autonomous Teams

Posted by John Ferguson Smart
u |

If you are a large organisation trying to become “agile”, autonomous teams seem to be the Holy Grail. Spotify-style squads are where we want to be. We all want our teams to be lean, mean, agile machines, delivering business value wherever they go. But agile transformation is hard. It isn’t something you can turn on…

Beyond Page Objects: liberate yourself from the chains of UI-think!

Posted by John Ferguson Smart

So you have Page Objects in your test automation suite? That’s great! But it’s not enough! Page Objects are a great start, but you need to go further if you want truly sustainable, high quality test automation. The Page Objects origin story Page Objects are a popular automated web testing pattern first implemented for Selenium by Simon…

Don’t let automation sabotage your BDD adoption

Posted by John Ferguson Smart

Test Automation can be a powerful aid for teams adopting Behaviour Driven Development. But do it too early, or in the wrong way, and your efforts can have the opposite effect. We all want to deliver great products. We all want to delight our customers. But sometimes, reality gets in the way, and delivering features…

A way for testers to learn top-notch test automation skills in Java, at their own pace

Posted by John Ferguson Smart

The Professional Java Development Skills for Testers course is a new online programme for both manual testers with basic Java knowledge, and more experienced Engineers in Test, who want to take their test automation skills to the next level. Test automation is tricky. Writing high quality automated tests that are easy to read, easy to extend and easy to…

The Three “A”s, building blocks for a great test suite

Posted by John Ferguson Smart

Writing high quality automated tests is not easy, especially for manual testers who are relatively new to automation. There is a learning curve. But the cost of not writing high quality test code, both in terms of maintenance and time wasted on unreliable or hard-to-update tests, is unsustainable for any but the smallest project. This…

A short guide on how to configure ChromeDriver in Serenity BDD

Posted by John Ferguson Smart

Serenity BDD is an open source library that makes it easier to write high quality, maintainable automated acceptance tests. Serenity BDD has strong WebDriver integration, and manages the WebDriver instances for you. You almost never need to create or close your own WebDriver instance. Chrome gives WebDriver developers a great deal of control, with many…

User-centric and task-driven: a better way to automate

Posted by John Ferguson Smart

Too often, our acceptance tests end up as sequences of “click”s and “select”s running against a web application. This makes our tests hard to understand and hard to maintain. User-centric, task-driven test automation shows us a better way. When we learn something new, it is easy to get stuck in a low-level, details-focused way of…

Screenplay with Serenity BDD: the next stage in automated acceptance testing

Posted by John Ferguson Smart

I spoke recently at the CraftConf conference in Budapest on writing higher quality automated tests using the Screenplay pattern. The last half of the talk contains a live demo of using the Screenplay pattern with Serenity BDD. Learn how to write robust and articulate tests using the Screenplay Pattern, an innovative approach to writing BDD-style…

Multi-browser and multi-environment testing in Serenity BDD

Posted by John Ferguson Smart
serenity | serenity-bdd |

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…

© 2019 John Ferguson Smart