@serenity-js/web 3.36.2 → 3.37.1
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.
- package/CHANGELOG.md +16 -0
- package/README.md +102 -26
- 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.1](https://github.com/serenity-js/serenity-js/compare/v3.37.0...v3.37.1) (2025-12-16)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @serenity-js/web
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# [3.37.0](https://github.com/serenity-js/serenity-js/compare/v3.36.2...v3.37.0) (2025-12-02)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @serenity-js/web
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
6
22
|
## [3.36.2](https://github.com/serenity-js/serenity-js/compare/v3.36.1...v3.36.2) (2025-11-26)
|
|
7
23
|
|
|
8
24
|
**Note:** Version bump only for package @serenity-js/web
|
package/README.md
CHANGED
|
@@ -1,45 +1,121 @@
|
|
|
1
|
-
# Serenity/JS
|
|
1
|
+
# Serenity/JS Web
|
|
2
|
+
|
|
3
|
+
[](https://badge.fury.io/js/%40serenity-js%2Fweb)
|
|
4
|
+
[](https://github.com/serenity-js/serenity-js/actions)
|
|
5
|
+
[](https://qlty.sh/gh/serenity-js/projects/serenity-js)
|
|
6
|
+
[](https://qlty.sh/gh/serenity-js/projects/serenity-js)
|
|
7
|
+
[](https://github.com/serenity-js/serenity-js/graphs/contributors)
|
|
8
|
+
[](https://snyk.io/test/npm/@serenity-js/web)
|
|
9
|
+
[](https://github.com/serenity-js/serenity-js)
|
|
2
10
|
|
|
3
11
|
[](https://www.linkedin.com/company/serenity-js)
|
|
4
12
|
[](https://www.youtube.com/@serenity-js)
|
|
5
13
|
[](https://matrix.to/#/#serenity-js:gitter.im)
|
|
6
14
|
[](https://github.com/sponsors/serenity-js)
|
|
7
15
|
|
|
8
|
-
[
|
|
9
|
-
|
|
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
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
-
|
|
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
|
-
|
|
97
|
+
Contributions of all kinds are welcome! Get started with the [Contributing Guide](https://serenity-js.org/community/contributing/).
|
|
24
98
|
|
|
25
|
-
|
|
99
|
+
## Community
|
|
26
100
|
|
|
27
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
37
|
-
[
|
|
38
|
-
|
|
39
|
-
[
|
|
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
|
-
|
|
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
|
-
|
|
119
|
+
For corporate sponsorship or commercial support, please contact [Jan Molak](https://www.linkedin.com/in/janmolak/).
|
|
44
120
|
|
|
45
121
|
[](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.
|
|
3
|
+
"version": "3.37.1",
|
|
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.
|
|
57
|
-
"@serenity-js/core": "3.
|
|
56
|
+
"@serenity-js/assertions": "3.37.1",
|
|
57
|
+
"@serenity-js/core": "3.37.1",
|
|
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": "
|
|
70
|
+
"gitHead": "0af3eff400cdb5adc9d7b92e87b09820c93d77c9"
|
|
71
71
|
}
|