
Security News
Browserslist-rs Gets Major Refactor, Cutting Binary Size by Over 1MB
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
@serenity-js/webdriverio
Advanced tools
Adapter that integrates @serenity-js/web with the latest stable version of WebdriverIO, enabling Serenity/JS reporting and using the Screenplay Pattern to write web and mobile test scenarios
Serenity/JS revolutionises automated testing by enabling your team to write expressive, maintainable tests that align with your unique domain. Seamlessly integrating with WebdriverIO and test runners like Mocha, Cucumber, and Jasmine, Serenity/JS also offers advanced reporting that provides clear insights into test results, helping both technical teams and business stakeholders understand the quality of the system under test.
Serenity/JS integrates with the WebdriverIO command line wizard to help you set up a new project with the required dependencies, configuration and example tests.
If you prefer to review a reference implementation first or use it as a starting point for your project, you can clone a Serenity/JS Project Template for your preferred test runner.
To use the WebdriverIO wizard to create a new project, run the following command in your computer terminal:
npm init wdio ./my-project
To create a Serenity/JS project, select the following options:
To create a Serenity/JS, WebdriverIO and Cucumber project, follow the tutorial:
Assuming you've chosen Mocha with Serenity/JS and requested the wizard to generate example test files for you,
you'll find your first test file located at ./test/specs/example.spec.ts
:
// ./test/specs/example.spec.ts
import { describe, it } from 'mocha'
import { Ensure, equals } from '@serenity-js/assertions'
import { actorCalled } from '@serenity-js/core'
import { By, Navigate, PageElement, Text } from '@serenity-js/web'
describe('Example', () => {
it('interacts with a web page', async () => {
await actorCalled('Alice').attemptsTo(
Navigate.to('https://serenity-js.org'),
Ensure.that(
Text.of(PageElement.located(By.id('cta-start-automating'))),
equals('Start automating 🚀')
),
)
})
// ... other examples
})
You'll notice that the example test file uses:
@serenity-js/assertions
- to make assertions about the state of the system under test@serenity-js/core
- to create and manage actors@serenity-js/web
- to interact with web pagesYou can learn more about these and other Serenity/JS modules in the Serenity/JS API documentation.
The configuration of your project is located in the wdio.conf.ts
file. Check out the Serenity/JS WebdriverIO integration guide for more details.
To run your tests and generate Serenity/JS reports, execute the following command in your terminal:
npm run serenity
Your test results will be available in the target/site/serenity
directory.
To view them, open the index.html
file in your preferred web browser.
Support our mission to make test automation collaborative and easier to scale. Become a Serenity/JS GitHub Sponsor today!
3.32.2 (2025-06-21)
FAQs
Adapter that integrates @serenity-js/web with the latest stable version of WebdriverIO, enabling Serenity/JS reporting and using the Screenplay Pattern to write web and mobile test scenarios
The npm package @serenity-js/webdriverio receives a total of 1,164 weekly downloads. As such, @serenity-js/webdriverio popularity was classified as popular.
We found that @serenity-js/webdriverio demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
Research
Security News
Eight new malicious Firefox extensions impersonate games, steal OAuth tokens, hijack sessions, and exploit browser permissions to spy on users.
Security News
The official Go SDK for the Model Context Protocol is in development, with a stable, production-ready release expected by August 2025.