Serenity 1.0.47 is out, with a host of improvements and bug fixes. Major items include:
- Serenity will now automatically detect Cucumber and JBehave requirements directory structures and group the tests according. For Cucumber, feature files are considered to be the lowest level, and directories containing these features will be mapped to capabilities. For JBehave, story files are the lowest level, and produce stories. Directories that contain story files will be mapped to features. Directories above this level will be mapped to capabilities.
- Added a new containsElements() convenience method to the PageObject class.
- Added a hasClass() method to the WebElementFacade class, to test whether an element has a particular CSS class.
- Display the stack trace for failing tests in the test reports.
- Experimental support for JUnit reports – JUnit-compatible XML reports (usable directly by CI servers like Jenkins) are now generated in the target/site/serenity directory, with the prefix SERENITY-JUNIT.
- Added support for Cucumber feature files written in non-English language when generating the requirements reports.
- You can access properties from the Sereniy properties file in a JUnit test simply by declaring a member variable of type `EnvironmentVariables`.
- Fixed a bug causing screenshots to fail to be recorded in some circumstances.
- Fixed a bug where tests hung if an invalid selector was used.
- Many other smaller bug fixes and performance improvements.
The Maven archetypes have also been updated. This new version should be completely backward compatible with previous (recent) versions of Serenity, so take it for a spin and let us know what you think!