@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.
Files changed (3) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +65 -64
  3. 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
- # Serenity/JS
1
+ ## Serenity/JS Protractor
2
+
3
+ [![NPM Version](https://badge.fury.io/js/%40serenity-js%2Fprotractor.svg)](https://badge.fury.io/js/%40serenity-js%2Fprotractor)
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/protractor/badge.svg)](https://snyk.io/test/npm/@serenity-js/protractor)
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.
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
- ### Installation
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
- To install this module, run:
28
+ ## Installation
34
29
 
35
30
  ```sh
36
31
  npm install --save-dev @serenity-js/core @serenity-js/protractor
37
32
  ```
38
33
 
39
- To learn more about Serenity/JS and how to use it on your project, follow the [Serenity/JS Getting Started guide for Protractor](https://serenity-js.org/handbook/test-runners/protractor/).
34
+ See the [Serenity/JS Installation Guide](https://serenity-js.org/handbook/installation/).
40
35
 
41
- #### Usage with Cucumber.js
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
- ```console
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
- #### Usage with Jasmine
49
+ ### Usage with Jasmine
53
50
 
54
51
  To use Serenity/JS Protractor with Jasmine, install the following adapter:
55
- ```console
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
- #### Usage with Mocha
58
+ ### Usage with Mocha
62
59
 
63
60
  To use Serenity/JS Protractor with Mocha, install the following adapter:
64
- ```console
61
+ ```sh
65
62
  npm install --save-dev @serenity-js/mocha
66
63
  ```
67
64
 
68
- Learn more about [integrating Serenity/JS Protractor with Cucumber](https://serenity-js.org/handbook/test-runners/protractor/).
65
+ Learn more about [integrating Serenity/JS Protractor with Mocha](https://serenity-js.org/handbook/test-runners/protractor/).
69
66
 
70
- ### Configuring Protractor
67
+ ## Configuration
71
68
 
72
- ```typescript
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
- ### Interacting with websites and web apps
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
- .whoCan(
142
- BrowseTheWebWithProtractor.using(protractor.browser)
143
- )
144
- .attemptsTo(
145
- Navigate.to('https://serenity-js.org'),
146
- Ensure.that(
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
- ### Template Repositories
146
+ ## Documentation
156
147
 
157
- The easiest way for you to start writing web-based acceptance tests using Serenity/JS, Protractor and either [Mocha](https://mochajs.org/), [Cucumber](https://github.com/cucumber/cucumber-js) or [Jasmine](https://jasmine.github.io/) is by using one of the below template repositories:
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
- - [Serenity/JS, Mocha, and Protractor template](https://github.com/serenity-js/serenity-js-mocha-protractor-template)
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
- ## 📣 Stay up to date
157
+ Contributions of all kinds are welcome! Get started with the [Contributing Guide](https://serenity-js.org/community/contributing/).
164
158
 
165
- New features, tutorials, and demos are coming soon!
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
- [![Follow Serenity/JS on LinkedIn](https://img.shields.io/badge/Follow-Serenity%2FJS%20-0077B5?logo=linkedin)](https://www.linkedin.com/company/serenity-js)
171
- [![Watch Serenity/JS on YouTube](https://img.shields.io/badge/Watch-@serenity--js-E62117?logo=youtube)](https://www.youtube.com/@serenity-js)
172
- [![Join Serenity/JS Community Chat](https://img.shields.io/badge/Chat-Serenity%2FJS%20Community-FBD30B?logo=matrix)](https://matrix.to/#/#serenity-js:gitter.im)
173
- [![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)
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
- ## 💛 Support Serenity/JS
174
+ ## Support
176
175
 
177
- 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!
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
- [![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)
179
+ For corporate sponsorship or commercial support, please contact [Jan Molak](https://www.linkedin.com/in/janmolak/).
180
180
 
181
+ [![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/protractor",
3
- "version": "3.36.2",
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.36.2",
62
- "@serenity-js/rest": "3.36.2",
63
- "@serenity-js/web": "3.36.2",
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.36.2",
89
- "@serenity-js/cucumber": "3.36.2",
90
- "@serenity-js/jasmine": "3.36.2",
91
- "@serenity-js/local-server": "3.36.2",
92
- "@serenity-js/mocha": "3.36.2",
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.5",
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.0",
99
+ "body-parser": "2.2.1",
100
100
  "c8": "10.1.3",
101
101
  "cross-env": "10.1.0",
102
- "express": "5.1.0",
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": "bce71a2454b8c6e2639bc351cc84f47c0c8cbb0a"
111
+ "gitHead": "dae146cd99a04f09b5926fb9d3205af562fa2927"
112
112
  }