@serenity-js/protractor 3.0.0-rc.20 → 3.0.0-rc.23

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 CHANGED
@@ -3,6 +3,33 @@
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.0.0-rc.23](https://github.com/serenity-js/serenity-js/compare/v2.33.10...v3.0.0-rc.23) (2022-07-19)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **node:** support for Node 18 ([73212bc](https://github.com/serenity-js/serenity-js/commit/73212bc9deb1998d871b0720a6b437687b3ceddc)), closes [#1243](https://github.com/serenity-js/serenity-js/issues/1243)
12
+
13
+
14
+
15
+ # [3.0.0-rc.22](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.21...v3.0.0-rc.22) (2022-07-15)
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * **web:** improved reliability of PageElementLocator for WebdriverIO and Protractor ([b19d19a](https://github.com/serenity-js/serenity-js/commit/b19d19aedc0d60d4068191e7eb83943b9268e39a)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
21
+
22
+
23
+
24
+ # [3.0.0-rc.21](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.20...v3.0.0-rc.21) (2022-07-11)
25
+
26
+
27
+ ### Bug Fixes
28
+
29
+ * **web:** corrected promise handling to avoid the unhandled promise rejection warning ([daac705](https://github.com/serenity-js/serenity-js/commit/daac705174683425109591e25139b5172fbdd7d3))
30
+
31
+
32
+
6
33
  # [3.0.0-rc.20](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.19...v3.0.0-rc.20) (2022-07-11)
7
34
 
8
35
 
@@ -27,8 +54,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
27
54
 
28
55
 
29
56
 
30
-
31
-
32
57
  # [3.0.0-rc.19](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.18...v3.0.0-rc.19) (2022-06-11)
33
58
 
34
59
 
@@ -38,8 +63,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
38
63
 
39
64
 
40
65
 
41
-
42
-
43
66
  # [3.0.0-rc.18](https://github.com/serenity-js/serenity-js/compare/v2.33.9...v3.0.0-rc.18) (2022-06-06)
44
67
 
45
68
 
@@ -214,171 +237,80 @@ modules such as @serenity-js/protractor and @serenity-js/webdriverio. Dropped su
214
237
 
215
238
 
216
239
 
217
- # [3.0.0-rc.17](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.16...v3.0.0-rc.17) (2022-06-02)
218
-
219
- **Note:** Version bump only for package @serenity-js/protractor
220
-
221
-
222
-
223
-
224
-
225
- # [3.0.0-rc.16](https://github.com/serenity-js/serenity-js/compare/v2.33.6...v3.0.0-rc.16) (2022-04-15)
226
-
227
-
228
-
229
- # [3.0.0-rc.15](https://github.com/serenity-js/serenity-js/compare/v2.33.5...v3.0.0-rc.15) (2022-04-10)
240
+ # [3.0.0-rc.22](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.21...v3.0.0-rc.22) (2022-07-15)
230
241
 
231
242
 
232
243
  ### Bug Fixes
233
244
 
234
- * **web:** replaced legacy PromiseLike return types with native Promise types ([436b3cb](https://github.com/serenity-js/serenity-js/commit/436b3cba1793f63008a56633cc93669736155ce6))
235
-
236
-
237
-
238
- # [3.0.0-rc.14](https://github.com/serenity-js/serenity-js/compare/v2.33.3...v3.0.0-rc.14) (2022-03-28)
239
-
240
-
241
-
242
- # [3.0.0-rc.13](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.12...v3.0.0-rc.13) (2022-03-02)
243
-
244
-
245
- ### Features
246
-
247
- * **web:** combined Frame and PageElement so they can be Switch-ed to ([1b7ab7c](https://github.com/serenity-js/serenity-js/commit/1b7ab7c828034a14ba801cbfa97acc203fd55adf)), closes [#82](https://github.com/serenity-js/serenity-js/issues/82) [#227](https://github.com/serenity-js/serenity-js/issues/227) [#233](https://github.com/serenity-js/serenity-js/issues/233) [#365](https://github.com/serenity-js/serenity-js/issues/365)
248
-
249
-
250
-
251
- # [3.0.0-rc.12](https://github.com/serenity-js/serenity-js/compare/v2.33.2...v3.0.0-rc.12) (2022-02-23)
252
-
253
-
245
+ * **web:** improved reliability of PageElementLocator for WebdriverIO and Protractor ([b19d19a](https://github.com/serenity-js/serenity-js/commit/b19d19aedc0d60d4068191e7eb83943b9268e39a)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
254
246
 
255
- # [3.0.0-rc.11](https://github.com/serenity-js/serenity-js/compare/v2.33.1...v3.0.0-rc.11) (2022-02-13)
256
-
257
-
258
- ### Features
259
-
260
- * **web:** support for working with frames and an interaction to Switch.to(frameOrPage) ([ef73ef2](https://github.com/serenity-js/serenity-js/commit/ef73ef273f8a17e48d396d5ef03f6b761b136c9a)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
261
-
262
-
263
-
264
- # [3.0.0-rc.10](https://github.com/serenity-js/serenity-js/compare/v2.33.0...v3.0.0-rc.10) (2022-02-03)
265
-
266
-
267
-
268
- # [3.0.0-rc.9](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.8...v3.0.0-rc.9) (2022-02-01)
269
-
270
-
271
- ### Features
272
-
273
- * **web:** isVisible() works with Web elements in Shadow DOM ([cf84fb0](https://github.com/serenity-js/serenity-js/commit/cf84fb072a6b813338b68bb1dec3932ea8709e3e)), closes [#1085](https://github.com/serenity-js/serenity-js/issues/1085)
274
247
 
275
248
 
276
249
 
277
- # [3.0.0-rc.8](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.7...v3.0.0-rc.8) (2022-01-28)
278
250
 
251
+ # [3.0.0-rc.21](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.20...v3.0.0-rc.21) (2022-07-11)
279
252
 
280
253
 
281
- # [3.0.0-rc.7](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.6...v3.0.0-rc.7) (2022-01-28)
254
+ ### Bug Fixes
282
255
 
256
+ * **web:** corrected promise handling to avoid the unhandled promise rejection warning ([daac705](https://github.com/serenity-js/serenity-js/commit/daac705174683425109591e25139b5172fbdd7d3))
283
257
 
284
- ### Features
285
258
 
286
- * **core:** replaced `Adapter` with `QuestionAdapter` and introduced `Optional` ([8d84ad3](https://github.com/serenity-js/serenity-js/commit/8d84ad3863e3c726533d0f21934fb1e2fa8b3022)), closes [#1103](https://github.com/serenity-js/serenity-js/issues/1103)
287
259
 
288
260
 
289
261
 
290
- # [3.0.0-rc.6](https://github.com/serenity-js/serenity-js/compare/v2.32.7...v3.0.0-rc.6) (2022-01-10)
262
+ # [3.0.0-rc.20](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.19...v3.0.0-rc.20) (2022-07-11)
291
263
 
292
264
 
265
+ ### Bug Fixes
293
266
 
294
- # [3.0.0-rc.5](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.4...v3.0.0-rc.5) (2022-01-07)
267
+ * **protractor:** isVisible check for ProtractorPageElement returns false for non-existent elements ([e64eee3](https://github.com/serenity-js/serenity-js/commit/e64eee377af32909f25e7c1d88f45a484abb1514)), closes [#1236](https://github.com/serenity-js/serenity-js/issues/1236)
268
+ * **web:** improved JavaScript dialog-related error handling when taking screenshots ([3cd1149](https://github.com/serenity-js/serenity-js/commit/3cd1149ed74df95da17f1054cd4da93b095a4eed)), closes [puppeteer/puppeteer#2481](https://github.com/puppeteer/puppeteer/issues/2481) [#1156](https://github.com/serenity-js/serenity-js/issues/1156)
269
+ * **web:** removed dependency on is-plain-object ([cbe76a6](https://github.com/serenity-js/serenity-js/commit/cbe76a6e36f3ccc4a012e81244aa108a040b2d45))
270
+ * **web:** renamed PagesContext to BrowsingSession to make the name more descriptive ([6b4e998](https://github.com/serenity-js/serenity-js/commit/6b4e9984d80f8f349f367e59bd0e615cd01703ec)), closes [#1236](https://github.com/serenity-js/serenity-js/issues/1236)
295
271
 
296
272
 
297
273
  ### Features
298
274
 
299
- * **web:** support for advanced PageElement locator patterns ([c1ff8b7](https://github.com/serenity-js/serenity-js/commit/c1ff8b7539ebc1da8f79ea2b6d17bb01c42f443d)), closes [#1084](https://github.com/serenity-js/serenity-js/issues/1084)
300
-
301
-
302
-
303
- # [3.0.0-rc.4](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.3...v3.0.0-rc.4) (2021-12-30)
304
-
305
-
306
-
307
- # [3.0.0-rc.3](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.2...v3.0.0-rc.3) (2021-12-29)
308
-
309
-
310
- ### Bug Fixes
311
-
312
- * **core:** refactored Mappable so that it's easier to implement filters ([176e0cd](https://github.com/serenity-js/serenity-js/commit/176e0cd0303d63271477b2b7a8e7b0572dda99a0)), closes [#1074](https://github.com/serenity-js/serenity-js/issues/1074)
313
- * **deps:** updated tiny-types to 1.17.0 ([3187051](https://github.com/serenity-js/serenity-js/commit/3187051594158b4b450c82e851e417fd2ed21652))
314
- * **web:** refactored Selector and NativeElementLocator classes to simplify the implementation ([f0c8f11](https://github.com/serenity-js/serenity-js/commit/f0c8f113433958877d36f13d0bc7f355ea68d280))
315
-
275
+ * **core:** interactions to Wait.for and Wait.until are now browser-independent ([d115142](https://github.com/serenity-js/serenity-js/commit/d1151427bed96c1ebd0d1dcc4159c6aeedc605de)), closes [#1035](https://github.com/serenity-js/serenity-js/issues/1035) [#1236](https://github.com/serenity-js/serenity-js/issues/1236)
276
+ * **playwright:** initial support for Playwright ([87e88a1](https://github.com/serenity-js/serenity-js/commit/87e88a16cdc06477ed25eb83f9597fd370fdc109)), closes [#493](https://github.com/serenity-js/serenity-js/issues/493) [#563](https://github.com/serenity-js/serenity-js/issues/563) [#911](https://github.com/serenity-js/serenity-js/issues/911)
277
+ * **playwright:** interaction to Select option(s) from a <select /> dropdown ([009041d](https://github.com/serenity-js/serenity-js/commit/009041d83e22ddf3fef14670e0e5fd6d11cdfc73)), closes [#1236](https://github.com/serenity-js/serenity-js/issues/1236)
278
+ * **playwright:** support for isVisible, plus consistent visibility checks across the board ([2c5c929](https://github.com/serenity-js/serenity-js/commit/2c5c929802f894f9fe59438a01f08b1b7bec3318)), closes [#1236](https://github.com/serenity-js/serenity-js/issues/1236)
279
+ * **playwright:** support for working with frames ([89d4621](https://github.com/serenity-js/serenity-js/commit/89d46212073a342fe812a3ad2638a2ad0c39b620)), closes [#1236](https://github.com/serenity-js/serenity-js/issues/1236)
280
+ * **web:** introduced PagesContext and implemented PlaywrightPage ([0045a72](https://github.com/serenity-js/serenity-js/commit/0045a726d540871333f644928218aed00bcd372c)), closes [#1236](https://github.com/serenity-js/serenity-js/issues/1236)
281
+ * **web:** new portable APIs to handle ModalDialog windows ([c94d0ec](https://github.com/serenity-js/serenity-js/commit/c94d0ec43d2bc8aa39f8824f5d0f1e1cbcf137a1)), closes [#1236](https://github.com/serenity-js/serenity-js/issues/1236) [#805](https://github.com/serenity-js/serenity-js/issues/805) [#1156](https://github.com/serenity-js/serenity-js/issues/1156)
282
+ * **web:** standardised support for deep CSS selectors across the Web integration modules ([e9e3f28](https://github.com/serenity-js/serenity-js/commit/e9e3f281191fc5c891841b6c8aab41213da3b0f5)), closes [#1238](https://github.com/serenity-js/serenity-js/issues/1238)
316
283
 
317
- ### Features
318
284
 
319
- * **web:** isVisible checks if the element is in viewport and not hidden behind other elements ([429040f](https://github.com/serenity-js/serenity-js/commit/429040fb32b04cd4bc7524100635203fd8128eb6))
320
- * **web:** re-introduced PageElements.where DSL and universal By selectors ([39fe0a1](https://github.com/serenity-js/serenity-js/commit/39fe0a10edf7f652e93911159e4a4689c36d6876)), closes [#1081](https://github.com/serenity-js/serenity-js/issues/1081)
321
285
 
322
286
 
323
287
 
324
- # [3.0.0-rc.2](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.1...v3.0.0-rc.2) (2021-12-09)
288
+ # [3.0.0-rc.19](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.18...v3.0.0-rc.19) (2022-06-11)
325
289
 
326
290
 
327
291
  ### Bug Fixes
328
292
 
329
- * **lerna:** corrected versions of internal deps ([582b922](https://github.com/serenity-js/serenity-js/commit/582b922dbade08e970cb796f15aca909f606c079))
293
+ * **rest:** updated Axios to 0.27.2 ([b54694b](https://github.com/serenity-js/serenity-js/commit/b54694ba3dd2b8e0316d94c44381f51b1ab79ad0)), closes [axios/axios#4124](https://github.com/axios/axios/issues/4124) [#1223](https://github.com/serenity-js/serenity-js/issues/1223)
330
294
 
331
295
 
332
296
 
333
- # [3.0.0-rc.1](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.0...v3.0.0-rc.1) (2021-12-09)
334
297
 
335
298
 
336
-
337
- # [3.0.0-rc.0](https://github.com/serenity-js/serenity-js/compare/v2.32.5...v3.0.0-rc.0) (2021-12-08)
299
+ # [3.0.0-rc.18](https://github.com/serenity-js/serenity-js/compare/v2.33.9...v3.0.0-rc.18) (2022-06-06)
338
300
 
339
301
 
340
302
  ### Bug Fixes
341
303
 
342
- * **core:** 3.0 RC ([469d54e](https://github.com/serenity-js/serenity-js/commit/469d54e4f81ef430566b93852e3174826f8ef672)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
343
- * **core:** renamed "Model" type to "Adapter" to better reflect its purpose ([b4ea7a1](https://github.com/serenity-js/serenity-js/commit/b4ea7a100fac2c896990bf15cbc906de641196b8)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
344
- * **protractor:** fixed the interaction to Switch ([762ca84](https://github.com/serenity-js/serenity-js/commit/762ca8406389a720d2ac6b8ab49b2519fbecfc21))
345
- * **protractor:** lastScriptExecution.result() returns undefined instead of null for void functions ([997d87a](https://github.com/serenity-js/serenity-js/commit/997d87af2d825bffd47c0a1b3dbeee8ce572e391))
346
- * **protractor:** modernised ProtractorParam to return a Screenplay Model ([43c2032](https://github.com/serenity-js/serenity-js/commit/43c2032e73c5e1ad3392396dec6fff476283833d))
347
- * **protractor:** removed interaction to ResizeBrowserWindow in favour of Page.setViewportSize() ([b8e471d](https://github.com/serenity-js/serenity-js/commit/b8e471dc92fe7d930895571ce0bcb99066eb2206))
348
- * **protractor:** replaced obsolete "Window", replaced by "Page" in @serenity-js/web ([a3442c4](https://github.com/serenity-js/serenity-js/commit/a3442c432082327f9081c269c02141c73b2e4eb3))
349
- * **web:** corrected timestamp rounding when retrieving the expiry date of a cookie ([d636965](https://github.com/serenity-js/serenity-js/commit/d63696586618cd701e703e33dd8b476efaac65b6))
350
- * **webdriverio:** separated UIElement.hoverOver from UIElement.scrollIntoView ([cf4ca2c](https://github.com/serenity-js/serenity-js/commit/cf4ca2c531e0f90f9a27917e322359c13bfbc6e6))
351
- * **web:** removed Cookie as it will be re-implemented ([cb3d081](https://github.com/serenity-js/serenity-js/commit/cb3d0813f9f0532bfe82be77fef0edec45e8ca3e))
352
- * **web:** removed window-specific APIs from BrowseTheWeb that got replaced by Page ([918f447](https://github.com/serenity-js/serenity-js/commit/918f447c1d8f326fbf5730f1aa61108045556212)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
353
- * **web:** renamed Element and associated classes to PageElement to avoid name conflicts ([1e4204b](https://github.com/serenity-js/serenity-js/commit/1e4204b5507469e6574c87a6d84454e39e8a813e))
354
- * **web:** renamed PageElementList to PageElements to improve readability ([a9903a7](https://github.com/serenity-js/serenity-js/commit/a9903a7389b00106ef94d2bdb9f86a7fd04be541)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
355
- * **web:** standardised getters across PageElement implementations ([336472b](https://github.com/serenity-js/serenity-js/commit/336472b1a6882412f6a88483e51266909a1d51d0))
356
-
357
-
358
- ### Features
304
+ * **deps:** updated tiny-types ([f1951cf](https://github.com/serenity-js/serenity-js/commit/f1951cf753df3807b5778d116f8e8bc3f24830a7))
305
+ * **deps:** updated tiny-types to 1.18.2 ([83a651c](https://github.com/serenity-js/serenity-js/commit/83a651c4c2f3f8dbaabcdacba94c720efdff45dd))
359
306
 
360
- * **core:** question.about produces "props" that proxy the methods of the underlying model ([f771872](https://github.com/serenity-js/serenity-js/commit/f771872c56b487e404002c3800fc8f3baaed804f))
361
- * **protractor:** compatibility with @serenity-js/web ([9df4db2](https://github.com/serenity-js/serenity-js/commit/9df4db27a6e0ae62bf0d0e679a170d4865041043)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
362
- * **protractor:** removed Protractor-specific Target implementations in favour of @serenity-js/web ([5cfc7e5](https://github.com/serenity-js/serenity-js/commit/5cfc7e53c977ae919398d9102f43985f393992db))
363
- * **web:** a common way to run the tests for all the web adapters ([c7e584a](https://github.com/serenity-js/serenity-js/commit/c7e584a9bf288ebc7781affdb720097527e8ed3a))
364
- * **web:** added Page.viewportSize and Page.setViewportSize methods ([4cabbe2](https://github.com/serenity-js/serenity-js/commit/4cabbe21a7fbac3457c6a6ea3d4442a62c3f1f3c))
365
- * **web:** interaction to set a Cookie ([c056439](https://github.com/serenity-js/serenity-js/commit/c056439746a8f57c3edd937b8862f2babb70e94e)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
366
- * **web:** interaction to setViewportSize of a Page ([dd7f180](https://github.com/serenity-js/serenity-js/commit/dd7f18057b857d2e69c19265888bfd5b15fda21b))
367
- * **web:** migrated Photographer from @serenity-js/protractor to @serenity-js/web ([4506dac](https://github.com/serenity-js/serenity-js/commit/4506dacebdf955c32c4eff17bf9982c8e45e2925)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
368
- * **web:** ModalDialog available for both Protractor and WebdriverIO adapters ([ef3c566](https://github.com/serenity-js/serenity-js/commit/ef3c566aed12b52aa22c54058992d369172b8597)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
369
- * **web:** page provides an abstraction around browser window ([2e70a3b](https://github.com/serenity-js/serenity-js/commit/2e70a3b6af2e8cc49255820e8a1aaffcc71b76a8))
370
- * **web:** Page.url() and Page.title() replace Website.url() and Website.title() ([49fe009](https://github.com/serenity-js/serenity-js/commit/49fe0094422ab53ec67d4ba303f80c33e382eebd)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
371
- * **web:** removed Target in favour of PageElement ([69496c4](https://github.com/serenity-js/serenity-js/commit/69496c47c4a1ec7b92e7ab6c83da1559e926f28e)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
372
- * **web:** support for switching browsing context ([a73a635](https://github.com/serenity-js/serenity-js/commit/a73a635f93183d67229acde78e74526564008869)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
373
- * **web:** support for working with cookies ([39cde6d](https://github.com/serenity-js/serenity-js/commit/39cde6de7a36d27a8b1c596493efbec94900af6b)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
374
307
 
375
308
 
376
- ### BREAKING CHANGES
309
+ # [3.0.0-rc.17](https://github.com/serenity-js/serenity-js/compare/v2.33.8...v3.0.0-rc.17) (2022-06-02)
377
310
 
378
- * **core:** Introduced @serenity-js/web - a shared library for Serenity/JS Web integration
379
- modules such as @serenity-js/protractor and @serenity-js/webdriverio. Dropped support for Node 12.
380
311
 
381
312
 
313
+ # [3.0.0-rc.16](https://github.com/serenity-js/serenity-js/compare/v2.33.6...v3.0.0-rc.16) (2022-04-15)
382
314
 
383
315
 
384
316
 
@@ -537,149 +469,11 @@ modules such as @serenity-js/protractor and @serenity-js/webdriverio. Dropped su
537
469
 
538
470
 
539
471
 
472
+ ## [2.33.10](https://github.com/serenity-js/serenity-js/compare/v2.33.9...v2.33.10) (2022-07-19)
540
473
 
541
- # [3.0.0-rc.14](https://github.com/serenity-js/serenity-js/compare/v2.33.3...v3.0.0-rc.14) (2022-03-28)
542
-
543
-
544
-
545
- # [3.0.0-rc.13](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.12...v3.0.0-rc.13) (2022-03-02)
546
-
547
-
548
- ### Features
549
-
550
- * **web:** combined Frame and PageElement so they can be Switch-ed to ([1b7ab7c](https://github.com/serenity-js/serenity-js/commit/1b7ab7c828034a14ba801cbfa97acc203fd55adf)), closes [#82](https://github.com/serenity-js/serenity-js/issues/82) [#227](https://github.com/serenity-js/serenity-js/issues/227) [#233](https://github.com/serenity-js/serenity-js/issues/233) [#365](https://github.com/serenity-js/serenity-js/issues/365)
551
-
552
-
553
-
554
- # [3.0.0-rc.12](https://github.com/serenity-js/serenity-js/compare/v2.33.2...v3.0.0-rc.12) (2022-02-23)
555
-
556
-
557
-
558
- # [3.0.0-rc.11](https://github.com/serenity-js/serenity-js/compare/v2.33.1...v3.0.0-rc.11) (2022-02-13)
559
-
560
-
561
- ### Features
562
-
563
- * **web:** support for working with frames and an interaction to Switch.to(frameOrPage) ([ef73ef2](https://github.com/serenity-js/serenity-js/commit/ef73ef273f8a17e48d396d5ef03f6b761b136c9a)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
564
-
565
-
566
-
567
- # [3.0.0-rc.10](https://github.com/serenity-js/serenity-js/compare/v2.33.0...v3.0.0-rc.10) (2022-02-03)
568
-
569
-
570
-
571
- # [3.0.0-rc.9](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.8...v3.0.0-rc.9) (2022-02-01)
572
-
573
-
574
- ### Features
575
-
576
- * **web:** isVisible() works with Web elements in Shadow DOM ([cf84fb0](https://github.com/serenity-js/serenity-js/commit/cf84fb072a6b813338b68bb1dec3932ea8709e3e)), closes [#1085](https://github.com/serenity-js/serenity-js/issues/1085)
577
-
578
-
579
-
580
- # [3.0.0-rc.8](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.7...v3.0.0-rc.8) (2022-01-28)
581
-
582
-
583
-
584
- # [3.0.0-rc.7](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.6...v3.0.0-rc.7) (2022-01-28)
585
-
586
-
587
- ### Features
588
-
589
- * **core:** replaced `Adapter` with `QuestionAdapter` and introduced `Optional` ([8d84ad3](https://github.com/serenity-js/serenity-js/commit/8d84ad3863e3c726533d0f21934fb1e2fa8b3022)), closes [#1103](https://github.com/serenity-js/serenity-js/issues/1103)
590
-
591
-
592
-
593
- # [3.0.0-rc.6](https://github.com/serenity-js/serenity-js/compare/v2.32.7...v3.0.0-rc.6) (2022-01-10)
594
-
595
-
596
-
597
- # [3.0.0-rc.5](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.4...v3.0.0-rc.5) (2022-01-07)
598
-
599
-
600
- ### Features
601
-
602
- * **web:** support for advanced PageElement locator patterns ([c1ff8b7](https://github.com/serenity-js/serenity-js/commit/c1ff8b7539ebc1da8f79ea2b6d17bb01c42f443d)), closes [#1084](https://github.com/serenity-js/serenity-js/issues/1084)
603
-
604
-
605
-
606
- # [3.0.0-rc.4](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.3...v3.0.0-rc.4) (2021-12-30)
607
-
608
-
609
-
610
- # [3.0.0-rc.3](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.2...v3.0.0-rc.3) (2021-12-29)
611
-
612
-
613
- ### Bug Fixes
614
-
615
- * **core:** refactored Mappable so that it's easier to implement filters ([176e0cd](https://github.com/serenity-js/serenity-js/commit/176e0cd0303d63271477b2b7a8e7b0572dda99a0)), closes [#1074](https://github.com/serenity-js/serenity-js/issues/1074)
616
- * **deps:** updated tiny-types to 1.17.0 ([3187051](https://github.com/serenity-js/serenity-js/commit/3187051594158b4b450c82e851e417fd2ed21652))
617
- * **web:** refactored Selector and NativeElementLocator classes to simplify the implementation ([f0c8f11](https://github.com/serenity-js/serenity-js/commit/f0c8f113433958877d36f13d0bc7f355ea68d280))
618
-
619
-
620
- ### Features
621
-
622
- * **web:** isVisible checks if the element is in viewport and not hidden behind other elements ([429040f](https://github.com/serenity-js/serenity-js/commit/429040fb32b04cd4bc7524100635203fd8128eb6))
623
- * **web:** re-introduced PageElements.where DSL and universal By selectors ([39fe0a1](https://github.com/serenity-js/serenity-js/commit/39fe0a10edf7f652e93911159e4a4689c36d6876)), closes [#1081](https://github.com/serenity-js/serenity-js/issues/1081)
624
-
625
-
626
-
627
- # [3.0.0-rc.2](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.1...v3.0.0-rc.2) (2021-12-09)
628
-
629
-
630
- ### Bug Fixes
631
-
632
- * **lerna:** corrected versions of internal deps ([582b922](https://github.com/serenity-js/serenity-js/commit/582b922dbade08e970cb796f15aca909f606c079))
633
-
634
-
635
-
636
- # [3.0.0-rc.1](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.0...v3.0.0-rc.1) (2021-12-09)
637
-
638
-
639
-
640
- # [3.0.0-rc.0](https://github.com/serenity-js/serenity-js/compare/v2.32.5...v3.0.0-rc.0) (2021-12-08)
641
-
642
-
643
- ### Bug Fixes
644
-
645
- * **core:** 3.0 RC ([469d54e](https://github.com/serenity-js/serenity-js/commit/469d54e4f81ef430566b93852e3174826f8ef672)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
646
- * **core:** renamed "Model" type to "Adapter" to better reflect its purpose ([b4ea7a1](https://github.com/serenity-js/serenity-js/commit/b4ea7a100fac2c896990bf15cbc906de641196b8)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
647
- * **protractor:** fixed the interaction to Switch ([762ca84](https://github.com/serenity-js/serenity-js/commit/762ca8406389a720d2ac6b8ab49b2519fbecfc21))
648
- * **protractor:** lastScriptExecution.result() returns undefined instead of null for void functions ([997d87a](https://github.com/serenity-js/serenity-js/commit/997d87af2d825bffd47c0a1b3dbeee8ce572e391))
649
- * **protractor:** modernised ProtractorParam to return a Screenplay Model ([43c2032](https://github.com/serenity-js/serenity-js/commit/43c2032e73c5e1ad3392396dec6fff476283833d))
650
- * **protractor:** removed interaction to ResizeBrowserWindow in favour of Page.setViewportSize() ([b8e471d](https://github.com/serenity-js/serenity-js/commit/b8e471dc92fe7d930895571ce0bcb99066eb2206))
651
- * **protractor:** replaced obsolete "Window", replaced by "Page" in @serenity-js/web ([a3442c4](https://github.com/serenity-js/serenity-js/commit/a3442c432082327f9081c269c02141c73b2e4eb3))
652
- * **web:** corrected timestamp rounding when retrieving the expiry date of a cookie ([d636965](https://github.com/serenity-js/serenity-js/commit/d63696586618cd701e703e33dd8b476efaac65b6))
653
- * **webdriverio:** separated UIElement.hoverOver from UIElement.scrollIntoView ([cf4ca2c](https://github.com/serenity-js/serenity-js/commit/cf4ca2c531e0f90f9a27917e322359c13bfbc6e6))
654
- * **web:** removed Cookie as it will be re-implemented ([cb3d081](https://github.com/serenity-js/serenity-js/commit/cb3d0813f9f0532bfe82be77fef0edec45e8ca3e))
655
- * **web:** removed window-specific APIs from BrowseTheWeb that got replaced by Page ([918f447](https://github.com/serenity-js/serenity-js/commit/918f447c1d8f326fbf5730f1aa61108045556212)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
656
- * **web:** renamed Element and associated classes to PageElement to avoid name conflicts ([1e4204b](https://github.com/serenity-js/serenity-js/commit/1e4204b5507469e6574c87a6d84454e39e8a813e))
657
- * **web:** renamed PageElementList to PageElements to improve readability ([a9903a7](https://github.com/serenity-js/serenity-js/commit/a9903a7389b00106ef94d2bdb9f86a7fd04be541)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
658
- * **web:** standardised getters across PageElement implementations ([336472b](https://github.com/serenity-js/serenity-js/commit/336472b1a6882412f6a88483e51266909a1d51d0))
659
-
660
-
661
- ### Features
662
-
663
- * **core:** question.about produces "props" that proxy the methods of the underlying model ([f771872](https://github.com/serenity-js/serenity-js/commit/f771872c56b487e404002c3800fc8f3baaed804f))
664
- * **protractor:** compatibility with @serenity-js/web ([9df4db2](https://github.com/serenity-js/serenity-js/commit/9df4db27a6e0ae62bf0d0e679a170d4865041043)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
665
- * **protractor:** removed Protractor-specific Target implementations in favour of @serenity-js/web ([5cfc7e5](https://github.com/serenity-js/serenity-js/commit/5cfc7e53c977ae919398d9102f43985f393992db))
666
- * **web:** a common way to run the tests for all the web adapters ([c7e584a](https://github.com/serenity-js/serenity-js/commit/c7e584a9bf288ebc7781affdb720097527e8ed3a))
667
- * **web:** added Page.viewportSize and Page.setViewportSize methods ([4cabbe2](https://github.com/serenity-js/serenity-js/commit/4cabbe21a7fbac3457c6a6ea3d4442a62c3f1f3c))
668
- * **web:** interaction to set a Cookie ([c056439](https://github.com/serenity-js/serenity-js/commit/c056439746a8f57c3edd937b8862f2babb70e94e)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
669
- * **web:** interaction to setViewportSize of a Page ([dd7f180](https://github.com/serenity-js/serenity-js/commit/dd7f18057b857d2e69c19265888bfd5b15fda21b))
670
- * **web:** migrated Photographer from @serenity-js/protractor to @serenity-js/web ([4506dac](https://github.com/serenity-js/serenity-js/commit/4506dacebdf955c32c4eff17bf9982c8e45e2925)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
671
- * **web:** ModalDialog available for both Protractor and WebdriverIO adapters ([ef3c566](https://github.com/serenity-js/serenity-js/commit/ef3c566aed12b52aa22c54058992d369172b8597)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
672
- * **web:** page provides an abstraction around browser window ([2e70a3b](https://github.com/serenity-js/serenity-js/commit/2e70a3b6af2e8cc49255820e8a1aaffcc71b76a8))
673
- * **web:** Page.url() and Page.title() replace Website.url() and Website.title() ([49fe009](https://github.com/serenity-js/serenity-js/commit/49fe0094422ab53ec67d4ba303f80c33e382eebd)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
674
- * **web:** removed Target in favour of PageElement ([69496c4](https://github.com/serenity-js/serenity-js/commit/69496c47c4a1ec7b92e7ab6c83da1559e926f28e)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
675
- * **web:** support for switching browsing context ([a73a635](https://github.com/serenity-js/serenity-js/commit/a73a635f93183d67229acde78e74526564008869)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
676
- * **web:** support for working with cookies ([39cde6d](https://github.com/serenity-js/serenity-js/commit/39cde6de7a36d27a8b1c596493efbec94900af6b)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
677
-
474
+ **Note:** Version bump only for package @serenity-js/protractor
678
475
 
679
- ### BREAKING CHANGES
680
476
 
681
- * **core:** Introduced @serenity-js/web - a shared library for Serenity/JS Web integration
682
- modules such as @serenity-js/protractor and @serenity-js/webdriverio. Dropped support for Node 12.
683
477
 
684
478
 
685
479
 
@@ -248,7 +248,7 @@ class ProtractorPage extends web_1.Page {
248
248
  return await action();
249
249
  }
250
250
  catch (error) {
251
- return this.errorHandler.executeIfHandled(error, action);
251
+ return await this.errorHandler.executeIfHandled(error, action);
252
252
  }
253
253
  finally {
254
254
  if (originalPage) {
@@ -1 +1 @@
1
- {"version":3,"file":"ProtractorPage.js","sourceRoot":"","sources":["../../../src/screenplay/models/ProtractorPage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProtractorPage.js","sourceRoot":"","sources":["../../../src/screenplay/models/ProtractorPage.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export declare class ProtractorLocator extends Locator<protractor.ElementFinder,
6
6
  constructor(parent: RootLocator<protractor.ElementFinder>, selector: Selector, errorHandler: ProtractorErrorHandler);
7
7
  protected nativeSelector(): protractor.Locator;
8
8
  nativeElement(): Promise<protractor.ElementFinder>;
9
+ private resolveNativeElement;
9
10
  allNativeElements(): Promise<Array<protractor.ElementFinder>>;
10
11
  of(parent: ProtractorLocator): Locator<protractor.ElementFinder, protractor.Locator>;
11
12
  locate(child: ProtractorLocator): Locator<protractor.ElementFinder, any>;
@@ -36,20 +36,21 @@ class ProtractorLocator extends web_1.Locator {
36
36
  }
37
37
  throw new core_1.LogicError((0, core_1.f) `${this.selector} is not supported by ${this.constructor.name}`);
38
38
  }
39
- // todo: refactor; lift method to Locator
40
39
  async nativeElement() {
41
- let parent;
42
40
  try {
43
- parent = await this.parent.nativeElement();
44
- const result = await (0, unpromisedWebElement_1.unpromisedWebElement)(parent.element(this.nativeSelector()));
45
- // checks if the element can be interacted with; in particular, throws unexpected alert present if there is one
46
- await result.isPresent();
47
- return result;
41
+ return await this.resolveNativeElement();
48
42
  }
49
43
  catch (error) {
50
- return this.errorHandler.executeIfHandled(error, () => (0, unpromisedWebElement_1.unpromisedWebElement)(parent.element(this.nativeSelector())));
44
+ return await this.errorHandler.executeIfHandled(error, () => this.resolveNativeElement());
51
45
  }
52
46
  }
47
+ async resolveNativeElement() {
48
+ const parent = await this.parent.nativeElement();
49
+ const result = await (0, unpromisedWebElement_1.unpromisedWebElement)(parent.element(this.nativeSelector()));
50
+ // checks if the element can be interacted with; in particular, throws unexpected alert present if there is one
51
+ await result.isPresent();
52
+ return result;
53
+ }
53
54
  async allNativeElements() {
54
55
  const parent = await this.parent.nativeElement();
55
56
  return parent.all(this.nativeSelector());
@@ -1 +1 @@
1
- {"version":3,"file":"ProtractorLocator.js","sourceRoot":"","sources":["../../../../src/screenplay/models/locators/ProtractorLocator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProtractorLocator.js","sourceRoot":"","sources":["../../../../src/screenplay/models/locators/ProtractorLocator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serenity-js/protractor",
3
- "version": "3.0.0-rc.20",
3
+ "version": "3.0.0-rc.23",
4
4
  "description": "Test your web apps with Serenity/JS",
5
5
  "author": {
6
6
  "name": "Jan Molak",
@@ -47,12 +47,12 @@
47
47
  "url": "https://github.com/serenity-js/serenity-js/issues"
48
48
  },
49
49
  "engines": {
50
- "node": "^14 || ^16",
50
+ "node": "^14 || ^16 || ^18",
51
51
  "npm": "^6 || ^7 || ^8"
52
52
  },
53
53
  "dependencies": {
54
- "@serenity-js/assertions": "3.0.0-rc.20",
55
- "@serenity-js/core": "3.0.0-rc.20",
54
+ "@serenity-js/assertions": "3.0.0-rc.23",
55
+ "@serenity-js/core": "3.0.0-rc.23",
56
56
  "deepmerge": "^4.2.2",
57
57
  "query-selector-shadow-dom": "^1.0.0",
58
58
  "selenium-webdriver": "^3.6.0",
@@ -78,17 +78,17 @@
78
78
  "devDependencies": {
79
79
  "@documentation/esdoc-template": "3.0.0",
80
80
  "@integration/testing-tools": "3.0.0",
81
- "@serenity-js/cucumber": "3.0.0-rc.20",
82
- "@serenity-js/jasmine": "3.0.0-rc.20",
83
- "@serenity-js/local-server": "3.0.0-rc.20",
84
- "@serenity-js/mocha": "3.0.0-rc.20",
85
- "@serenity-js/rest": "3.0.0-rc.20",
86
- "@serenity-js/web": "3.0.0-rc.20",
81
+ "@serenity-js/cucumber": "3.0.0-rc.23",
82
+ "@serenity-js/jasmine": "3.0.0-rc.23",
83
+ "@serenity-js/local-server": "3.0.0-rc.23",
84
+ "@serenity-js/mocha": "3.0.0-rc.23",
85
+ "@serenity-js/rest": "3.0.0-rc.23",
86
+ "@serenity-js/web": "3.0.0-rc.23",
87
87
  "@types/chai": "^4.3.1",
88
88
  "@types/express": "^4.17.13",
89
89
  "@types/html-minifier": "^4.0.2",
90
90
  "@types/mocha": "^9.1.1",
91
- "@types/selenium-webdriver": "^3.0.19",
91
+ "@types/selenium-webdriver": "^3.0.20",
92
92
  "axios": "^0.27.2",
93
93
  "body-parser": "^1.20.0",
94
94
  "cross-env": "^7.0.3",
@@ -98,8 +98,8 @@
98
98
  "protractor": "^7.0.0",
99
99
  "selenium-webdriver": "^3.6.0",
100
100
  "start-server-and-test": "^1.14.0",
101
- "ts-node": "10.8.0",
101
+ "ts-node": "10.8.2",
102
102
  "typescript": "^4.7.4"
103
103
  },
104
- "gitHead": "105a84c6ab140c06e38d328274473a32b290080d"
104
+ "gitHead": "debd05ecd17b48de66a53afbef8f7aa7f457ba6b"
105
105
  }
@@ -326,7 +326,7 @@ export class ProtractorPage extends Page<ElementFinder> {
326
326
  return await action();
327
327
  }
328
328
  catch (error) {
329
- return this.errorHandler.executeIfHandled(error, action);
329
+ return await this.errorHandler.executeIfHandled(error, action);
330
330
  }
331
331
  finally {
332
332
  if (originalPage) {
@@ -50,24 +50,25 @@ export class ProtractorLocator extends Locator<protractor.ElementFinder, protrac
50
50
  throw new LogicError(f `${ this.selector } is not supported by ${ this.constructor.name }`);
51
51
  }
52
52
 
53
- // todo: refactor; lift method to Locator
54
53
  async nativeElement(): Promise<protractor.ElementFinder> {
55
- let parent: Partial<protractor.ElementFinder>;
56
-
57
54
  try {
58
- parent = await this.parent.nativeElement();
59
- const result = await unpromisedWebElement(parent.element(this.nativeSelector()));
60
-
61
- // checks if the element can be interacted with; in particular, throws unexpected alert present if there is one
62
- await result.isPresent();
63
-
64
- return result;
55
+ return await this.resolveNativeElement();
65
56
  }
66
57
  catch (error) {
67
- return this.errorHandler.executeIfHandled(error, () => unpromisedWebElement(parent.element(this.nativeSelector())));
58
+ return await this.errorHandler.executeIfHandled(error, () => this.resolveNativeElement());
68
59
  }
69
60
  }
70
61
 
62
+ private async resolveNativeElement(): Promise<protractor.ElementFinder> {
63
+ const parent = await this.parent.nativeElement();
64
+ const result = await unpromisedWebElement(parent.element(this.nativeSelector()));
65
+
66
+ // checks if the element can be interacted with; in particular, throws unexpected alert present if there is one
67
+ await result.isPresent();
68
+
69
+ return result;
70
+ }
71
+
71
72
  async allNativeElements(): Promise<Array<protractor.ElementFinder>> {
72
73
  const parent = await this.parent.nativeElement();
73
74
  return parent.all(this.nativeSelector()) as unknown as Array<protractor.ElementFinder>;