@serenity-js/protractor 3.36.2 → 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.
- package/CHANGELOG.md +12 -0
- package/README.md +65 -64
- package/package.json +13 -13
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,18 @@
|
|
|
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
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **deps:** update dependency body-parser to v2.2.1 [security] ([0738ce8](https://github.com/serenity-js/serenity-js/commit/0738ce8d63428f2d989db40d39f64cb1893cd897))
|
|
12
|
+
* **deps:** update dependency express to v5.2.0 [security] ([99a34b3](https://github.com/serenity-js/serenity-js/commit/99a34b3a555324755ae15ba4ea82245c9057adef))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
6
18
|
## [3.36.2](https://github.com/serenity-js/serenity-js/compare/v3.36.1...v3.36.2) (2025-11-26)
|
|
7
19
|
|
|
8
20
|
**Note:** Version bump only for package @serenity-js/protractor
|
package/README.md
CHANGED
|
@@ -1,47 +1,44 @@
|
|
|
1
|
-
|
|
1
|
+
## Serenity/JS Protractor
|
|
2
|
+
|
|
3
|
+
[](https://badge.fury.io/js/%40serenity-js%2Fprotractor)
|
|
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/protractor)
|
|
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
|
-
of complex software systems faster, more collaborative and easier to scale.
|
|
10
|
-
|
|
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/)
|
|
15
|
-
- [Serenity/JS Project Templates](https://serenity-js.org/handbook/project-templates/)
|
|
16
|
-
|
|
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)!
|
|
22
|
-
|
|
23
|
-
## Serenity/JS Protractor
|
|
24
|
-
|
|
25
|
-
[`@serenity-js/protractor`](https://serenity-js.org/api/protractor/) module is a [Screenplay Pattern](https://serenity-js.org/handbook/design/screenplay-pattern/)-style adapter
|
|
26
|
-
for [Protractor framework](https://www.protractortest.org/), that helps with testing Angular, React, Vue
|
|
27
|
-
and other frontend web apps.
|
|
16
|
+
[`@serenity-js/protractor`](https://serenity-js.org/api/protractor/) brings full [Serenity reporting](https://serenity-js.org/handbook/reporting/) capabilities to [Protractor framework](https://www.protractortest.org/) and enables writing tests using the [Screenplay Pattern](https://serenity-js.org/handbook/design/screenplay-pattern/).
|
|
28
17
|
|
|
29
18
|
Learn more about [integrating Serenity/JS with Protractor](https://serenity-js.org/handbook/test-runners/protractor/).
|
|
30
19
|
|
|
31
|
-
|
|
20
|
+
## Features
|
|
21
|
+
|
|
22
|
+
- Integrates Serenity/JS with Protractor providing standardised [Screenplay Web API](https://serenity-js.org/api/web/)
|
|
23
|
+
- Supports Angular and non-Angular apps
|
|
24
|
+
- Enables [Screenplay Pattern](https://serenity-js.org/handbook/design/screenplay-pattern/) APIs in Protractor tests
|
|
25
|
+
- Supports all [Serenity/JS reporting features](https://serenity-js.org/handbook/reporting/)
|
|
26
|
+
- TypeScript-first design with strong typing for safer and more predictable test code.
|
|
32
27
|
|
|
33
|
-
|
|
28
|
+
## Installation
|
|
34
29
|
|
|
35
30
|
```sh
|
|
36
31
|
npm install --save-dev @serenity-js/core @serenity-js/protractor
|
|
37
32
|
```
|
|
38
33
|
|
|
39
|
-
|
|
34
|
+
See the [Serenity/JS Installation Guide](https://serenity-js.org/handbook/installation/).
|
|
40
35
|
|
|
41
|
-
|
|
36
|
+
## Quick Start
|
|
37
|
+
|
|
38
|
+
### Usage with Cucumber.js
|
|
42
39
|
|
|
43
40
|
To use Serenity/JS Protractor with Cucumber.js, install the following adapter:
|
|
44
|
-
```
|
|
41
|
+
```sh
|
|
45
42
|
npm install --save-dev @serenity-js/cucumber
|
|
46
43
|
```
|
|
47
44
|
|
|
@@ -49,27 +46,27 @@ npm install --save-dev @serenity-js/cucumber
|
|
|
49
46
|
|
|
50
47
|
Learn more about [integrating Serenity/JS Protractor with Cucumber](https://serenity-js.org/handbook/test-runners/protractor/).
|
|
51
48
|
|
|
52
|
-
|
|
49
|
+
### Usage with Jasmine
|
|
53
50
|
|
|
54
51
|
To use Serenity/JS Protractor with Jasmine, install the following adapter:
|
|
55
|
-
```
|
|
52
|
+
```sh
|
|
56
53
|
npm install --save-dev @serenity-js/jasmine
|
|
57
54
|
```
|
|
58
55
|
|
|
59
56
|
Learn more about [integrating Serenity/JS Protractor with Cucumber](https://serenity-js.org/handbook/test-runners/protractor/).
|
|
60
57
|
|
|
61
|
-
|
|
58
|
+
### Usage with Mocha
|
|
62
59
|
|
|
63
60
|
To use Serenity/JS Protractor with Mocha, install the following adapter:
|
|
64
|
-
```
|
|
61
|
+
```sh
|
|
65
62
|
npm install --save-dev @serenity-js/mocha
|
|
66
63
|
```
|
|
67
64
|
|
|
68
|
-
Learn more about [integrating Serenity/JS Protractor with
|
|
65
|
+
Learn more about [integrating Serenity/JS Protractor with Mocha](https://serenity-js.org/handbook/test-runners/protractor/).
|
|
69
66
|
|
|
70
|
-
|
|
67
|
+
## Configuration
|
|
71
68
|
|
|
72
|
-
```
|
|
69
|
+
```javascript
|
|
73
70
|
// protractor.conf.js
|
|
74
71
|
exports.config = {
|
|
75
72
|
// Tell Protractor to use the Serenity/JS framework Protractor Adapter
|
|
@@ -117,14 +114,12 @@ Learn more about:
|
|
|
117
114
|
- [Mocha configuration options](https://serenity-js.org/api/mocha-adapter/interface/MochaConfig/)
|
|
118
115
|
- [Protractor configuration file](https://github.com/angular/protractor/blob/master/lib/config.ts).
|
|
119
116
|
|
|
120
|
-
|
|
117
|
+
## Interacting with websites and web apps
|
|
121
118
|
|
|
122
119
|
```typescript
|
|
123
120
|
import { actorCalled } from '@serenity-js/core'
|
|
124
121
|
import { Ensure, equals } from '@serenity-js/assertions'
|
|
125
122
|
import { By, Navigate, Target, Text } from '@serenity-js/web'
|
|
126
|
-
import { BrowseTheWebWithProtractor } from '@serenity-js/protractor'
|
|
127
|
-
import { protractor } from 'protractor'
|
|
128
123
|
|
|
129
124
|
// example Lean Page Object describing a widget we interact with in the test
|
|
130
125
|
class SerenityJSWebsite {
|
|
@@ -137,44 +132,50 @@ class SerenityJSWebsite {
|
|
|
137
132
|
describe('Serenity/JS', () => {
|
|
138
133
|
|
|
139
134
|
it('works with Protractor and Jasmine', async () => {
|
|
140
|
-
await actorCalled('Priya')
|
|
141
|
-
.
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
Text.of(SerenityJSWebsite.header()),
|
|
148
|
-
equals('Next generation acceptance testing')
|
|
149
|
-
),
|
|
150
|
-
)
|
|
135
|
+
await actorCalled('Priya').attemptsTo(
|
|
136
|
+
Navigate.to('https://serenity-js.org'),
|
|
137
|
+
Ensure.that(
|
|
138
|
+
Text.of(SerenityJSWebsite.header()),
|
|
139
|
+
equals('Enable collaborative test automation at any scale!')
|
|
140
|
+
),
|
|
141
|
+
)
|
|
151
142
|
})
|
|
152
143
|
})
|
|
153
144
|
```
|
|
154
145
|
|
|
155
|
-
|
|
146
|
+
## Documentation
|
|
156
147
|
|
|
157
|
-
|
|
148
|
+
- [API Reference](https://serenity-js.org/api/)
|
|
149
|
+
- [Screenplay Pattern Guide](https://serenity-js.org/handbook/design/screenplay-pattern/)
|
|
150
|
+
- [Serenity/JS Project Templates](https://serenity-js.org/handbook/project-templates/)
|
|
151
|
+
- [More examples and reference implementations](https://github.com/serenity-js/serenity-js/tree/main/examples)
|
|
152
|
+
- [Tutorial: First Web Scenario](https://serenity-js.org/handbook/tutorials/your-first-web-scenario/)
|
|
153
|
+
- [Tutorial: First API Scenario](https://serenity-js.org/handbook/tutorials/your-first-api-scenario/)
|
|
158
154
|
|
|
159
|
-
|
|
160
|
-
- [Serenity/JS, Cucumber, and Protractor template](https://github.com/serenity-js/serenity-js-cucumber-protractor-template)
|
|
161
|
-
- [Serenity/JS, Jasmine, and Protractor template](https://github.com/serenity-js/serenity-js-jasmine-protractor-template)
|
|
155
|
+
## Contributing
|
|
162
156
|
|
|
163
|
-
|
|
157
|
+
Contributions of all kinds are welcome! Get started with the [Contributing Guide](https://serenity-js.org/community/contributing/).
|
|
164
158
|
|
|
165
|
-
|
|
166
|
-
Follow [Serenity/JS on LinkedIn](https://www.linkedin.com/company/serenity-js),
|
|
167
|
-
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!
|
|
168
|
-
Please also make sure to star ⭐️ [Serenity/JS on GitHub](https://github.com/serenity-js/serenity-js) to help others discover the framework!
|
|
159
|
+
## Community
|
|
169
160
|
|
|
170
|
-
[
|
|
171
|
-
[
|
|
172
|
-
[
|
|
173
|
-
|
|
161
|
+
- [Community Chat](https://matrix.to/#/#serenity-js:gitter.im)
|
|
162
|
+
- [Discussions Forum](https://github.com/orgs/serenity-js/discussions)
|
|
163
|
+
- Visit the [💡How to... ?](https://github.com/orgs/serenity-js/discussions/categories/how-to) section for answers to common questions
|
|
164
|
+
|
|
165
|
+
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!
|
|
166
|
+
|
|
167
|
+
## License
|
|
168
|
+
|
|
169
|
+
The Serenity/JS code base is licensed under the [Apache-2.0](https://opensource.org/license/apache-2-0) license,
|
|
170
|
+
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/).
|
|
171
|
+
|
|
172
|
+
See the [Serenity/JS License](https://serenity-js.org/legal/license/).
|
|
174
173
|
|
|
175
|
-
##
|
|
174
|
+
## Support
|
|
176
175
|
|
|
177
|
-
|
|
176
|
+
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)
|
|
177
|
+
and priority help in the [Discussions Forum](https://github.com/orgs/serenity-js/discussions).
|
|
178
178
|
|
|
179
|
-
[
|
|
179
|
+
For corporate sponsorship or commercial support, please contact [Jan Molak](https://www.linkedin.com/in/janmolak/).
|
|
180
180
|
|
|
181
|
+
[](https://github.com/sponsors/serenity-js).
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@serenity-js/protractor",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.37.0",
|
|
4
4
|
"description": "Adapter that integrates @serenity-js/web with Protractor, enabling Serenity/JS reporting and using the Screenplay Pattern to write end-to-end test scenarios",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Jan Molak",
|
|
@@ -58,9 +58,9 @@
|
|
|
58
58
|
"node": "^20 || ^22 || ^24"
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
|
-
"@serenity-js/core": "3.
|
|
62
|
-
"@serenity-js/rest": "3.
|
|
63
|
-
"@serenity-js/web": "3.
|
|
61
|
+
"@serenity-js/core": "3.37.0",
|
|
62
|
+
"@serenity-js/rest": "3.37.0",
|
|
63
|
+
"@serenity-js/web": "3.37.0",
|
|
64
64
|
"deepmerge": "4.3.1",
|
|
65
65
|
"query-selector-shadow-dom": "1.0.1",
|
|
66
66
|
"tiny-types": "1.24.3"
|
|
@@ -85,21 +85,21 @@
|
|
|
85
85
|
},
|
|
86
86
|
"devDependencies": {
|
|
87
87
|
"@integration/testing-tools": "3.0.0",
|
|
88
|
-
"@serenity-js/assertions": "3.
|
|
89
|
-
"@serenity-js/cucumber": "3.
|
|
90
|
-
"@serenity-js/jasmine": "3.
|
|
91
|
-
"@serenity-js/local-server": "3.
|
|
92
|
-
"@serenity-js/mocha": "3.
|
|
88
|
+
"@serenity-js/assertions": "3.37.0",
|
|
89
|
+
"@serenity-js/cucumber": "3.37.0",
|
|
90
|
+
"@serenity-js/jasmine": "3.37.0",
|
|
91
|
+
"@serenity-js/local-server": "3.37.0",
|
|
92
|
+
"@serenity-js/mocha": "3.37.0",
|
|
93
93
|
"@serenity-js/web": "workspace:*",
|
|
94
94
|
"@types/chai": "4.3.20",
|
|
95
|
-
"@types/express": "5.0.
|
|
95
|
+
"@types/express": "5.0.6",
|
|
96
96
|
"@types/html-minifier": "4.0.6",
|
|
97
97
|
"@types/mocha": "10.0.10",
|
|
98
98
|
"axios": "1.13.2",
|
|
99
|
-
"body-parser": "2.2.
|
|
99
|
+
"body-parser": "2.2.1",
|
|
100
100
|
"c8": "10.1.3",
|
|
101
101
|
"cross-env": "10.1.0",
|
|
102
|
-
"express": "5.
|
|
102
|
+
"express": "5.2.0",
|
|
103
103
|
"html-minifier": "4.0.0",
|
|
104
104
|
"mocha": "11.7.5",
|
|
105
105
|
"mocha-multi": "1.1.7",
|
|
@@ -108,5 +108,5 @@
|
|
|
108
108
|
"ts-node": "10.9.2",
|
|
109
109
|
"typescript": "5.9.3"
|
|
110
110
|
},
|
|
111
|
-
"gitHead": "
|
|
111
|
+
"gitHead": "dae146cd99a04f09b5926fb9d3205af562fa2927"
|
|
112
112
|
}
|