Skip to main content

6 posts tagged with "core"

View All Tags

Serenity/JS 3.32: Worker-scope actors and better reporting for Playwright Test

· 8 min read

The latest release, Serenity/JS 3.32, brings powerful enhancements to your test automation workflow. This version focuses on further improving the integration between Playwright Test and Serenity BDD, delivering rich, actionable test reports that go beyond pass/fail results.

Key updates in this release:

🎭 Improved APIs and support for using actors in beforeAll and afterAll hooks.

✅ Improved reporting, including support for retried tests, repeated tests, and project tags.

âš™ Configuration updates to better separate test-scope and worker-scope fixtures.

Let’s take a closer look at what’s new!

Support for WebdriverIO 9

· 3 min read

We’re thrilled to announce the release of Serenity/JS 3.31, marking a significant step forward for modern test automation. This release introduces support for WebdriverIO 9, while maintaining compatibility with WebdriverIO 8 for projects that are not yet ready to migrate (#2572).

Let’s explore what makes this update exciting!

Simplifying test automation infrastructure

· 3 min read

The Serenity/JS team is excited to unveil version 3.30, a release focused on helping you simplify your test automation infrastructure. This update introduces:

  • streamlined installation process for Serenity BDD,
  • support for Node-only artifact registries like Verdaccio,
  • support for Playwright 1.49,
  • all Serenity/JS Project Templates updated to reflect these improvements.

Let’s explore what’s new!

Introducing Numeric

· 3 min read

Love numbers? You'll love Serenity/JS 3.29! 🎉

We’re excited to share the latest release of Serenity/JS, which is packed with new powerful features for handling numeric data in your automated tests!

Better API documentation

· 3 min read

In the ever-evolving world of software development, the importance of clear, concise, and accessible documentation cannot be overstated. The Serenity/JS team is thrilled to announce a series of significant improvements to our API documentation, designed to enhance the developer experience and streamline the process of building automated acceptance tests. These updates are crafted to support developers at every stage of their journey, from understanding the basics to mastering the intricacies of the framework.

Introducing dynamic descriptions

· 8 min read

📣 Serenity/JS Tasks, Interactions and Questions now support dynamic descriptions 🎉

With the new release of Serenity/JS 3.24, descriptions of Tasks, Interactions, and Questions, including assertions and synchronisation statements, can be determined dynamically at runtime and incorporate the actual values of static and dynamic parameters you passed in.

The new dynamic descriptions feature is particularly useful when designing custom Serenity/JS tasks that accept notes or other dynamic data structures like questions, question adapters, or answerables.

Long story short: to use dynamic descriptions, upgrade to Serenity/JS 3.24 and replace d with the in your custom Task and Interaction definitions:

- import { Task, d } from '@serenity-js/core';
+ import { Task, the } from '@serenity-js/core';

export const recordItem = (name: Answerable<string>): Task =>
- Task.where(d`#actor records an item called ${ name }`,
+ Task.where(the`#actor records an item called ${ name }`,
Enter.theValue(name).into(newTodoInput()),
Press.the(Key.Enter).in(newTodoInput()),
Wait.until(itemNames(), contain(name)),
)

This tiny change to your code will enable your Serenity reports to show the actual values of your task and interaction parameters.

Support for dynamic descriptions

Want to learn more? Read on!