Serenity/JS web module is an abstraction layer on top of popular web integration tools like WebdriverIO, Playwright, or Protractor. It helps you create portable test code libraries that interact with web-based interfaces and can be shared and reused across projects and teams.
To help you achieve this flexibility, Serenity/JS web module offers several key features:
- Portable interaction APIs - a library of Screenplay Pattern-compatible interactions, questions, and models that work the same way across all the supported web integration tools,
- Page Element Query Language - a portable, composable, and type-safe abstraction around low-level tool-specific selectors,
- Web assertions and synchronisation - a library of expectations to help you implement web-first assertions, as well as conditional logic and synchronisation using the same consistent pattern.
The best way to experience working with the Serenity/JS web module is by using it, which is what I'm going to show you next!