@serenity-js/web 3.36.1 → 3.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +103 -27
  3. package/package.json +4 -4
package/CHANGELOG.md CHANGED
@@ -3,6 +3,22 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [3.37.0](https://github.com/serenity-js/serenity-js/compare/v3.36.2...v3.37.0) (2025-12-02)
7
+
8
+ **Note:** Version bump only for package @serenity-js/web
9
+
10
+
11
+
12
+
13
+
14
+ ## [3.36.2](https://github.com/serenity-js/serenity-js/compare/v3.36.1...v3.36.2) (2025-11-26)
15
+
16
+ **Note:** Version bump only for package @serenity-js/web
17
+
18
+
19
+
20
+
21
+
6
22
  ## [3.36.1](https://github.com/serenity-js/serenity-js/compare/v3.36.0...v3.36.1) (2025-11-16)
7
23
 
8
24
 
package/README.md CHANGED
@@ -1,45 +1,121 @@
1
- # Serenity/JS
1
+ # Serenity/JS Web
2
+
3
+ [![NPM Version](https://badge.fury.io/js/%40serenity-js%2Fweb.svg)](https://badge.fury.io/js/%40serenity-js%2Fweb)
4
+ [![Build Status](https://github.com/serenity-js/serenity-js/actions/workflows/main.yaml/badge.svg?branch=main)](https://github.com/serenity-js/serenity-js/actions)
5
+ [![Maintainability](https://qlty.sh/gh/serenity-js/projects/serenity-js/maintainability.svg)](https://qlty.sh/gh/serenity-js/projects/serenity-js)
6
+ [![Code Coverage](https://qlty.sh/gh/serenity-js/projects/serenity-js/coverage.svg)](https://qlty.sh/gh/serenity-js/projects/serenity-js)
7
+ [![Contributors](https://img.shields.io/github/contributors/serenity-js/serenity-js.svg)](https://github.com/serenity-js/serenity-js/graphs/contributors)
8
+ [![Known Vulnerabilities](https://snyk.io/test/npm/@serenity-js/web/badge.svg)](https://snyk.io/test/npm/@serenity-js/web)
9
+ [![GitHub stars](https://img.shields.io/github/stars/serenity-js/serenity-js?style=flat)](https://github.com/serenity-js/serenity-js)
2
10
 
3
11
  [![Follow Serenity/JS on LinkedIn](https://img.shields.io/badge/Follow-Serenity%2FJS%20-0077B5?logo=linkedin)](https://www.linkedin.com/company/serenity-js)
4
12
  [![Watch Serenity/JS on YouTube](https://img.shields.io/badge/Watch-@serenity--js-E62117?logo=youtube)](https://www.youtube.com/@serenity-js)
5
13
  [![Join Serenity/JS Community Chat](https://img.shields.io/badge/Chat-Serenity%2FJS%20Community-FBD30B?logo=matrix)](https://matrix.to/#/#serenity-js:gitter.im)
6
14
  [![Support Serenity/JS on GitHub](https://img.shields.io/badge/Support-@serenity--js-703EC8?logo=github)](https://github.com/sponsors/serenity-js)
7
15
 
8
- [Serenity/JS](https://serenity-js.org) is an innovative open-source framework designed to make acceptance and regression testing
9
- of complex software systems faster, more collaborative and easier to scale.
16
+ [`@serenity-js/web`](https://serenity-js.org/api/web/) provides a
17
+ unified, [Screenplay Pattern](https://serenity-js.org/handbook/design/screenplay-pattern)–based library for interacting
18
+ with web applications,
19
+ enabling maintainable end-to-end and component-level tests across multiple automation engines, including Playwright and
20
+ WebdriverIO.
21
+
22
+ Learn more about [web testing with Serenity/JS](https://serenity-js.org/handbook/web-testing/)!
23
+
24
+ ## Features
25
+
26
+ - Offers a consistent API for web interactions across different automation engines, making your tests maintainable and
27
+ portable.
28
+ - Supports both end-to-end and component-level testing of web applications.
29
+ - Integrates seamlessly with popular test runners like
30
+ [Playwright Test](https://serenity-js.org/handbook/test-runners/playwright-test/),
31
+ [WebdriverIO](https://serenity-js.org/handbook/test-runners/webdriverio/),
32
+ [Mocha](https://serenity-js.org/handbook/test-runners/mocha/),
33
+ [Jasmine](https://serenity-js.org/handbook/test-runners/jasmine/),
34
+ and [Cucumber.js](https://serenity-js.org/handbook/test-runners/cucumber/).
35
+ - Supports all [Serenity/JS reporting features](https://serenity-js.org/handbook/reporting/)
36
+ - TypeScript-first design with strong typing for safer and more predictable test code.
37
+
38
+ ## Installation
39
+
40
+ ```sh
41
+ npm install --save-dev @serenity-js/core @serenity-js/web
42
+ ```
43
+
44
+ See the [Serenity/JS Installation Guide](https://serenity-js.org/handbook/installation/).
45
+
46
+ ## Quick Start
47
+
48
+ ### Usage with Playwright Test
49
+
50
+ ```ts
51
+ import { describe, it } from '@serenity-js/playwright-test'
52
+ import { Navigate, Page } from '@serenity-js/web'
53
+ import { Ensure, startsWith } from '@serenity-js/assertions'
54
+
55
+ describe('Website', () => {
56
+
57
+ it('should have a title', async ({ actor }) => {
10
58
 
11
- ⭐️ Get started with Serenity/JS!
12
- - [Serenity/JS web testing tutorial](https://serenity-js.org/handbook/web-testing/your-first-web-scenario)
13
- - [Serenity/JS Handbook](https://serenity-js.org/handbook)
14
- - [API documentation](https://serenity-js.org/api/)
59
+ await actor.attemptsTo(
60
+ Navigate.to('https://serenity-js.org/'),
61
+ Ensure.that(Page.current().title(), startsWith('Serenity/JS')),
62
+ )
63
+ })
64
+ })
65
+ ```
66
+
67
+ ### Usage with WebdriverIO and Mocha
68
+
69
+ ```ts
70
+ import { describe, it } from 'mocha'
71
+ import { Navigate, Page } from '@serenity-js/web'
72
+ import { Ensure, startsWith } from '@serenity-js/assertions'
73
+
74
+ describe('Website', () => {
75
+
76
+ it('should have a title', async () => {
77
+
78
+ await actorCalled('Alice').attemptsTo(
79
+ Navigate.to('https://serenity-js.org/'),
80
+ Ensure.that(Page.current().title(), startsWith('Serenity/JS')),
81
+ )
82
+ })
83
+ })
84
+ ```
85
+
86
+ ## Documentation
87
+
88
+ - [API Reference](https://serenity-js.org/api/)
89
+ - [Screenplay Pattern Guide](https://serenity-js.org/handbook/design/screenplay-pattern/)
15
90
  - [Serenity/JS Project Templates](https://serenity-js.org/handbook/project-templates/)
91
+ - [More examples and reference implementations](https://github.com/serenity-js/serenity-js/tree/main/examples)
92
+ - [Tutorial: First Web Scenario](https://serenity-js.org/handbook/tutorials/your-first-web-scenario/)
93
+ - [Tutorial: First API Scenario](https://serenity-js.org/handbook/tutorials/your-first-api-scenario/)
16
94
 
17
- 👋 Join the Serenity/JS Community!
18
- - Meet other Serenity/JS developers and maintainers on the [Serenity/JS Community chat channel](https://matrix.to/#/#serenity-js:gitter.im),
19
- - Find answers to your Serenity/JS questions on the [Serenity/JS Forum](https://github.com/orgs/serenity-js/discussions/categories/how-do-i),
20
- - Learn how to [contribute to Serenity/JS](https://serenity-js.org/community/contributing/),
21
- - Support the project and gain access to [Serenity/JS Playbooks](https://github.com/serenity-js/playbooks) by becoming a [Serenity/JS GitHub Sponsor](https://github.com/sponsors/serenity-js)!
95
+ ## Contributing
22
96
 
23
- ## Serenity/JS Web
97
+ Contributions of all kinds are welcome! Get started with the [Contributing Guide](https://serenity-js.org/community/contributing/).
24
98
 
25
- [`@serenity-js/web`](https://serenity-js.org/api/web/) offers Serenity/JS [Screenplay Pattern](https://serenity-js.org/handbook/design/screenplay-pattern) APIs for testing web apps.
99
+ ## Community
26
100
 
27
- Learn more about [web testing with Serenity/JS](https://serenity-js.org/handbook/web-testing/)!
101
+ - [Community Chat](https://matrix.to/#/#serenity-js:gitter.im)
102
+ - [Discussions Forum](https://github.com/orgs/serenity-js/discussions)
103
+ - Visit the [💡How to... ?](https://github.com/orgs/serenity-js/discussions/categories/how-to) section for answers to common questions
28
104
 
29
- ## 📣 Stay up to date
105
+ If you enjoy using Serenity/JS, make sure to star ⭐️ [Serenity/JS on GitHub](https://github.com/serenity-js/serenity-js) to help others discover the framework!
30
106
 
31
- New features, tutorials, and demos are coming soon!
32
- Follow [Serenity/JS on LinkedIn](https://www.linkedin.com/company/serenity-js),
33
- subscribe to [Serenity/JS channel on YouTube](https://www.youtube.com/@serenity-js) and join the [Serenity/JS Community Chat](https://matrix.to/#/#serenity-js:gitter.im) to stay up to date!
34
- Please also make sure to star ⭐️ [Serenity/JS on GitHub](https://github.com/serenity-js/serenity-js) to help others discover the framework!
107
+ ## License
35
108
 
36
- [![Follow Serenity/JS on LinkedIn](https://img.shields.io/badge/Follow-Serenity%2FJS%20-0077B5?logo=linkedin)](https://www.linkedin.com/company/serenity-js)
37
- [![Watch Serenity/JS on YouTube](https://img.shields.io/badge/Watch-@serenity--js-E62117?logo=youtube)](https://www.youtube.com/@serenity-js)
38
- [![Join Serenity/JS Community Chat](https://img.shields.io/badge/Chat-Serenity%2FJS%20Community-FBD30B?logo=matrix)](https://matrix.to/#/#serenity-js:gitter.im)
39
- [![GitHub stars](https://img.shields.io/github/stars/serenity-js/serenity-js?label=Serenity%2FJS&logo=github&style=badge)](https://github.com/serenity-js/serenity-js)
109
+ The Serenity/JS code base is licensed under the [Apache-2.0](https://opensource.org/license/apache-2-0) license,
110
+ while its documentation and the [Serenity/JS Handbook](https://serenity-js.org/handbook/) are licensed under the [Creative Commons BY-NC-SA 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/).
111
+
112
+ See the [Serenity/JS License](https://serenity-js.org/legal/license/).
113
+
114
+ ## Support
40
115
 
41
- ## 💛 Support Serenity/JS
116
+ Support ongoing development through [GitHub Sponsors](https://github.com/sponsors/serenity-js). Sponsors gain access to [Serenity/JS Playbooks](https://github.com/serenity-js/playbooks)
117
+ and priority help in the [Discussions Forum](https://github.com/orgs/serenity-js/discussions).
42
118
 
43
- If you appreciate all the effort that goes into making sophisticated tools easy to work with, please support our work and become a Serenity/JS GitHub Sponsor today!
119
+ For corporate sponsorship or commercial support, please contact [Jan Molak](https://www.linkedin.com/in/janmolak/).
44
120
 
45
- [![GitHub Sponsors](https://img.shields.io/badge/Support%20@serenity%2FJS-703EC8?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/serenity-js)
121
+ [![GitHub Sponsors](https://img.shields.io/badge/Support%20@serenity%2FJS-703EC8?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/serenity-js).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serenity-js/web",
3
- "version": "3.36.1",
3
+ "version": "3.37.0",
4
4
  "description": "Serenity/JS Screenplay Pattern library offering a flexible, web driver-agnostic approach for interacting with web-based user interfaces and components, suitable for various testing contexts",
5
5
  "author": {
6
6
  "name": "Jan Molak",
@@ -53,8 +53,8 @@
53
53
  "node": "^20 || ^22 || ^24"
54
54
  },
55
55
  "dependencies": {
56
- "@serenity-js/assertions": "3.36.1",
57
- "@serenity-js/core": "3.36.1",
56
+ "@serenity-js/assertions": "3.37.0",
57
+ "@serenity-js/core": "3.37.0",
58
58
  "tiny-types": "1.24.3"
59
59
  },
60
60
  "devDependencies": {
@@ -67,5 +67,5 @@
67
67
  "ts-node": "10.9.2",
68
68
  "typescript": "5.9.3"
69
69
  },
70
- "gitHead": "d13abbfcd6255c6f9466394d4efa1e808907a71f"
70
+ "gitHead": "dae146cd99a04f09b5926fb9d3205af562fa2927"
71
71
  }