Skip to main content

6 posts tagged with "release"

View All Tags

Serenity/JS 3.49: faster scenarios, patient interactions, and native getByRole

· 11 min read

Serenity/JS 3.49 makes your scenarios faster without you changing a line of code. Actors used to spend at least 10 milliseconds after every Interaction and Task waiting for background work, such as taking screenshots, even when there wasn't any. Now they move on as soon as the work is done, or straight away when there's nothing to wait for. The more activities a scenario performs, the more time it saves. This release also teaches web Interactions such as Click and Enter to wait for list items that haven't been rendered yet, and makes By.role() in @serenity-js/playwright match exactly the same elements as Playwright's own getByRole().

Two of these changes can affect existing test suites, so read the upgrade notes before you update.

Serenity/JS 3.47: component testing with Playwright

· 4 min read

Serenity/JS 3.47 brings web UI component testing into the same Screenplay Pattern architecture as the rest of your suite. The new story fixture mounts a Playwright component story, and the newly introduced Question.as(Constructor) lets you turn it into an Interaction Object.

That means the interaction model you use to exercise the component in isolation can be the same one your end-to-end scenarios use when exercising the running application.

This release also introduces new guides to help you set up component testing and keep your web test code portable with Serenity/JS web modules.

Serenity/JS 3.42: Native ESM Support

· 4 min read

Serenity/JS 3.42 brings native ECMAScript Module (ESM) support to all packages, enabling you to use modern import syntax while maintaining full backwards compatibility with CommonJS require(). This release also includes Node.js 24 compatibility fixes and addresses the dual-package hazard that can occur when mixing ESM and CJS in the same project.