@serenity-js/webdriverio 3.0.0-rc.9 → 3.0.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.
Files changed (139) hide show
  1. package/CHANGELOG.md +245 -122
  2. package/README.md +66 -45
  3. package/lib/adapter/TestRunnerLoader.d.ts +3 -4
  4. package/lib/adapter/TestRunnerLoader.d.ts.map +1 -0
  5. package/lib/adapter/TestRunnerLoader.js +1 -4
  6. package/lib/adapter/TestRunnerLoader.js.map +1 -1
  7. package/lib/adapter/WebdriverIOConfig.d.ts +115 -109
  8. package/lib/adapter/WebdriverIOConfig.d.ts.map +1 -0
  9. package/lib/adapter/WebdriverIOFrameworkAdapter.d.ts +1 -3
  10. package/lib/adapter/WebdriverIOFrameworkAdapter.d.ts.map +1 -0
  11. package/lib/adapter/WebdriverIOFrameworkAdapter.js +14 -8
  12. package/lib/adapter/WebdriverIOFrameworkAdapter.js.map +1 -1
  13. package/lib/adapter/WebdriverIOFrameworkAdapterFactory.d.ts +2 -1
  14. package/lib/adapter/WebdriverIOFrameworkAdapterFactory.d.ts.map +1 -0
  15. package/lib/adapter/WebdriverIOFrameworkAdapterFactory.js +1 -1
  16. package/lib/adapter/WebdriverIONotifier.d.ts +1 -0
  17. package/lib/adapter/WebdriverIONotifier.d.ts.map +1 -0
  18. package/lib/adapter/WebdriverIONotifier.js +5 -5
  19. package/lib/adapter/WebdriverIONotifier.js.map +1 -1
  20. package/lib/adapter/index.d.ts +1 -1
  21. package/lib/adapter/index.d.ts.map +1 -0
  22. package/lib/adapter/index.js +5 -2
  23. package/lib/adapter/index.js.map +1 -1
  24. package/lib/adapter/reporter/BrowserCapabilitiesReporter.d.ts +1 -0
  25. package/lib/adapter/reporter/BrowserCapabilitiesReporter.d.ts.map +1 -0
  26. package/lib/adapter/reporter/BrowserCapabilitiesReporter.js +4 -1
  27. package/lib/adapter/reporter/BrowserCapabilitiesReporter.js.map +1 -1
  28. package/lib/adapter/reporter/InitialisesReporters.d.ts +1 -0
  29. package/lib/adapter/reporter/InitialisesReporters.d.ts.map +1 -0
  30. package/lib/adapter/reporter/OutputStreamBuffer.d.ts +2 -1
  31. package/lib/adapter/reporter/OutputStreamBuffer.d.ts.map +1 -0
  32. package/lib/adapter/reporter/OutputStreamBufferPrinter.d.ts +2 -1
  33. package/lib/adapter/reporter/OutputStreamBufferPrinter.d.ts.map +1 -0
  34. package/lib/adapter/reporter/OutputStreamBufferPrinter.js.map +1 -1
  35. package/lib/adapter/reporter/ProvidesWriteStream.d.ts +2 -1
  36. package/lib/adapter/reporter/ProvidesWriteStream.d.ts.map +1 -0
  37. package/lib/adapter/reporter/TagPrinter.d.ts +1 -0
  38. package/lib/adapter/reporter/TagPrinter.d.ts.map +1 -0
  39. package/lib/adapter/reporter/index.d.ts +1 -0
  40. package/lib/adapter/reporter/index.d.ts.map +1 -0
  41. package/lib/adapter/reporter/index.js +5 -1
  42. package/lib/adapter/reporter/index.js.map +1 -1
  43. package/lib/index.d.ts +1 -0
  44. package/lib/index.d.ts.map +1 -0
  45. package/lib/index.js +5 -1
  46. package/lib/index.js.map +1 -1
  47. package/lib/screenplay/abilities/BrowseTheWebWithWebdriverIO.d.ts +28 -197
  48. package/lib/screenplay/abilities/BrowseTheWebWithWebdriverIO.d.ts.map +1 -0
  49. package/lib/screenplay/abilities/BrowseTheWebWithWebdriverIO.js +29 -296
  50. package/lib/screenplay/abilities/BrowseTheWebWithWebdriverIO.js.map +1 -1
  51. package/lib/screenplay/abilities/index.d.ts +1 -0
  52. package/lib/screenplay/abilities/index.d.ts.map +1 -0
  53. package/lib/screenplay/abilities/index.js +5 -1
  54. package/lib/screenplay/abilities/index.js.map +1 -1
  55. package/lib/screenplay/index.d.ts +1 -0
  56. package/lib/screenplay/index.d.ts.map +1 -0
  57. package/lib/screenplay/index.js +5 -1
  58. package/lib/screenplay/index.js.map +1 -1
  59. package/lib/screenplay/models/WebdriverIOBrowsingSession.d.ts +24 -0
  60. package/lib/screenplay/models/WebdriverIOBrowsingSession.d.ts.map +1 -0
  61. package/lib/screenplay/models/WebdriverIOBrowsingSession.js +125 -0
  62. package/lib/screenplay/models/WebdriverIOBrowsingSession.js.map +1 -0
  63. package/lib/screenplay/models/WebdriverIOCookie.d.ts +6 -0
  64. package/lib/screenplay/models/WebdriverIOCookie.d.ts.map +1 -0
  65. package/lib/screenplay/models/WebdriverIOCookie.js +7 -2
  66. package/lib/screenplay/models/WebdriverIOCookie.js.map +1 -1
  67. package/lib/screenplay/models/WebdriverIOErrorHandler.d.ts +9 -0
  68. package/lib/screenplay/models/WebdriverIOErrorHandler.d.ts.map +1 -0
  69. package/lib/screenplay/models/WebdriverIOErrorHandler.js +23 -0
  70. package/lib/screenplay/models/WebdriverIOErrorHandler.js.map +1 -0
  71. package/lib/screenplay/models/WebdriverIOModalDialogHandler.d.ts +29 -0
  72. package/lib/screenplay/models/WebdriverIOModalDialogHandler.d.ts.map +1 -0
  73. package/lib/screenplay/models/WebdriverIOModalDialogHandler.js +77 -0
  74. package/lib/screenplay/models/WebdriverIOModalDialogHandler.js.map +1 -0
  75. package/lib/screenplay/models/WebdriverIOPage.d.ts +29 -5
  76. package/lib/screenplay/models/WebdriverIOPage.d.ts.map +1 -0
  77. package/lib/screenplay/models/WebdriverIOPage.js +166 -54
  78. package/lib/screenplay/models/WebdriverIOPage.js.map +1 -1
  79. package/lib/screenplay/models/WebdriverIOPageElement.d.ts +10 -10
  80. package/lib/screenplay/models/WebdriverIOPageElement.d.ts.map +1 -0
  81. package/lib/screenplay/models/WebdriverIOPageElement.js +163 -117
  82. package/lib/screenplay/models/WebdriverIOPageElement.js.map +1 -1
  83. package/lib/screenplay/models/WebdriverIOPuppeteerModalDialogHandler.d.ts +32 -0
  84. package/lib/screenplay/models/WebdriverIOPuppeteerModalDialogHandler.d.ts.map +1 -0
  85. package/lib/screenplay/models/WebdriverIOPuppeteerModalDialogHandler.js +82 -0
  86. package/lib/screenplay/models/WebdriverIOPuppeteerModalDialogHandler.js.map +1 -0
  87. package/lib/screenplay/models/WebdriverProtocolErrorCode.d.ts +39 -0
  88. package/lib/screenplay/models/WebdriverProtocolErrorCode.d.ts.map +1 -0
  89. package/lib/screenplay/models/WebdriverProtocolErrorCode.js +43 -0
  90. package/lib/screenplay/models/WebdriverProtocolErrorCode.js.map +1 -0
  91. package/lib/screenplay/models/index.d.ts +2 -1
  92. package/lib/screenplay/models/index.d.ts.map +1 -0
  93. package/lib/screenplay/models/index.js +6 -2
  94. package/lib/screenplay/models/index.js.map +1 -1
  95. package/lib/screenplay/models/locators/WebdriverIOLocator.d.ts +18 -5
  96. package/lib/screenplay/models/locators/WebdriverIOLocator.d.ts.map +1 -0
  97. package/lib/screenplay/models/locators/WebdriverIOLocator.js +84 -5
  98. package/lib/screenplay/models/locators/WebdriverIOLocator.js.map +1 -1
  99. package/lib/screenplay/models/locators/WebdriverIORootLocator.d.ts +17 -0
  100. package/lib/screenplay/models/locators/WebdriverIORootLocator.d.ts.map +1 -0
  101. package/lib/screenplay/models/locators/WebdriverIORootLocator.js +32 -0
  102. package/lib/screenplay/models/locators/WebdriverIORootLocator.js.map +1 -0
  103. package/lib/screenplay/models/locators/index.d.ts +2 -1
  104. package/lib/screenplay/models/locators/index.d.ts.map +1 -0
  105. package/lib/screenplay/models/locators/index.js +6 -2
  106. package/lib/screenplay/models/locators/index.js.map +1 -1
  107. package/package.json +31 -32
  108. package/src/adapter/TestRunnerLoader.ts +3 -5
  109. package/src/adapter/WebdriverIOConfig.ts +114 -109
  110. package/src/adapter/WebdriverIOFrameworkAdapter.ts +20 -12
  111. package/src/adapter/WebdriverIOFrameworkAdapterFactory.ts +1 -1
  112. package/src/adapter/WebdriverIONotifier.ts +8 -6
  113. package/src/adapter/index.ts +0 -1
  114. package/src/adapter/reporter/OutputStreamBuffer.ts +1 -1
  115. package/src/adapter/reporter/OutputStreamBufferPrinter.ts +1 -1
  116. package/src/adapter/reporter/ProvidesWriteStream.ts +1 -1
  117. package/src/screenplay/abilities/BrowseTheWebWithWebdriverIO.ts +29 -339
  118. package/src/screenplay/models/WebdriverIOBrowsingSession.ts +171 -0
  119. package/src/screenplay/models/WebdriverIOCookie.ts +7 -2
  120. package/src/screenplay/models/WebdriverIOErrorHandler.ts +25 -0
  121. package/src/screenplay/models/WebdriverIOModalDialogHandler.ts +100 -0
  122. package/src/screenplay/models/WebdriverIOPage.ts +222 -63
  123. package/src/screenplay/models/WebdriverIOPageElement.ts +183 -148
  124. package/src/screenplay/models/WebdriverIOPuppeteerModalDialogHandler.ts +97 -0
  125. package/src/screenplay/models/WebdriverProtocolErrorCode.ts +38 -0
  126. package/src/screenplay/models/index.ts +1 -1
  127. package/src/screenplay/models/locators/WebdriverIOLocator.ts +122 -24
  128. package/src/screenplay/models/locators/WebdriverIORootLocator.ts +33 -0
  129. package/src/screenplay/models/locators/index.ts +1 -1
  130. package/tsconfig.build.json +17 -0
  131. package/lib/screenplay/models/WebdriverIOModalDialog.d.ts +0 -11
  132. package/lib/screenplay/models/WebdriverIOModalDialog.js +0 -40
  133. package/lib/screenplay/models/WebdriverIOModalDialog.js.map +0 -1
  134. package/lib/screenplay/models/locators/WebdriverIONativeElementRoot.d.ts +0 -2
  135. package/lib/screenplay/models/locators/WebdriverIONativeElementRoot.js +0 -3
  136. package/lib/screenplay/models/locators/WebdriverIONativeElementRoot.js.map +0 -1
  137. package/src/screenplay/models/WebdriverIOModalDialog.ts +0 -45
  138. package/src/screenplay/models/locators/WebdriverIONativeElementRoot.ts +0 -3
  139. package/tsconfig.eslint.json +0 -10
package/CHANGELOG.md CHANGED
@@ -3,136 +3,125 @@
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.9](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.8...v3.0.0-rc.9) (2022-02-01)
6
+ ## [3.0.1](https://github.com/serenity-js/serenity-js/compare/v3.0.0...v3.0.1) (2023-03-25)
7
7
 
8
+ **Note:** Version bump only for package @serenity-js/webdriverio
8
9
 
9
- ### Features
10
10
 
11
- * **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)
12
11
 
13
12
 
14
13
 
14
+ # [3.0.0](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.45...v3.0.0) (2023-03-23)
15
+
16
+ **Note:** Version bump only for package @serenity-js/webdriverio
17
+
18
+
15
19
 
16
20
 
17
- # [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)
21
+
22
+ # [3.0.0-rc.45](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.44...v3.0.0-rc.45) (2023-03-22)
18
23
 
19
24
 
20
25
  ### Bug Fixes
21
26
 
22
- * **webdriverio:** corrected visibility of the `browser` field on BrowseTheWebWithWebdriverIO ([0de725f](https://github.com/serenity-js/serenity-js/commit/0de725f71ec67c496b16fabdbc7e1a06715732fa))
27
+ * **deps:** update dependency deepmerge to ^4.3.1 ([d605a6b](https://github.com/serenity-js/serenity-js/commit/d605a6ba034b0d9d5d716c82ea496bd726a86348))
23
28
 
24
29
 
25
30
 
26
31
 
27
32
 
28
- # [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)
33
+ # [3.0.0-rc.44](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.43...v3.0.0-rc.44) (2023-03-19)
29
34
 
30
- **Note:** Version bump only for package @serenity-js/webdriverio
31
35
 
36
+ ### Bug Fixes
32
37
 
38
+ * **core:** moved time-related code to a common package ([f29fedc](https://github.com/serenity-js/serenity-js/commit/f29fedc0e67d0db942b247aed53a243868a5f6dd)), closes [#1522](https://github.com/serenity-js/serenity-js/issues/1522)
39
+ * **core:** support for NPM 9 ([0493474](https://github.com/serenity-js/serenity-js/commit/0493474a1e28b86b1b60f69ec0d591c1a3265425))
40
+ * **deps:** update dependency tiny-types to ^1.19.1 ([ce335eb](https://github.com/serenity-js/serenity-js/commit/ce335ebca434d1fd0e6e809a65a0882fd10a311a))
41
+ * **rest:** support for Axios 1.3.4 ([e926bbd](https://github.com/serenity-js/serenity-js/commit/e926bbde5232150f35e137601e321175d21d52d2))
33
42
 
34
43
 
44
+ ### Features
35
45
 
36
- # [3.0.0-rc.6](https://github.com/serenity-js/serenity-js/compare/v2.32.7...v3.0.0-rc.6) (2022-01-10)
46
+ * **core:** introduced a new ability ScheduleWork to enable [#1083](https://github.com/serenity-js/serenity-js/issues/1083) and [#1522](https://github.com/serenity-js/serenity-js/issues/1522) ([b275d18](https://github.com/serenity-js/serenity-js/commit/b275d18434cdedf069c5f1da3b9b359fc7da60fe))
37
47
 
38
48
 
39
49
 
40
- # [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)
41
50
 
42
51
 
43
- ### Features
52
+ # [3.0.0-rc.43](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.42...v3.0.0-rc.43) (2023-03-10)
44
53
 
45
- * **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)
46
54
 
55
+ ### Bug Fixes
47
56
 
57
+ * **deps:** update dependency deepmerge to ^4.3.0 ([ac08d09](https://github.com/serenity-js/serenity-js/commit/ac08d091eb61a666c9b9c53209b59fe7157c06d9))
58
+ * **webdriverio:** default actors receive abilities to BrowseTheWebWithWebdriverIO and TakeNotes ([3880d3b](https://github.com/serenity-js/serenity-js/commit/3880d3be3262dfa601f0ec31fa1518569b14b90b)), closes [#1523](https://github.com/serenity-js/serenity-js/issues/1523)
48
59
 
49
- # [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)
50
60
 
51
61
 
52
62
 
53
- # [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)
63
+
64
+ # [3.0.0-rc.42](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.41...v3.0.0-rc.42) (2023-02-12)
54
65
 
55
66
 
56
67
  ### Bug Fixes
57
68
 
58
- * **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)
59
- * **deps:** updated tiny-types to 1.17.0 ([3187051](https://github.com/serenity-js/serenity-js/commit/3187051594158b4b450c82e851e417fd2ed21652))
60
- * **web:** refactored Selector and NativeElementLocator classes to simplify the implementation ([f0c8f11](https://github.com/serenity-js/serenity-js/commit/f0c8f113433958877d36f13d0bc7f355ea68d280))
69
+ * **core:** event TestRunFinished now incidates the Outcome of the test suite ([a941056](https://github.com/serenity-js/serenity-js/commit/a9410566891e543101b935a80db9c7daea0c9944)), closes [#1495](https://github.com/serenity-js/serenity-js/issues/1495)
70
+
71
+
72
+
73
+
74
+
75
+ # [3.0.0-rc.41](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.40...v3.0.0-rc.41) (2023-02-07)
61
76
 
62
77
 
63
78
  ### Features
64
79
 
65
- * **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))
66
- * **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)
80
+ * **core:** better assertion errors reporting in Visual Studio Code ([3b94b7d](https://github.com/serenity-js/serenity-js/commit/3b94b7d606fae49e7ca77c2fbe09d07eeb042ea9)), closes [#1486](https://github.com/serenity-js/serenity-js/issues/1486)
81
+ * **webdriverio:** improved assertion error reporting for WebdriverIO ([7513752](https://github.com/serenity-js/serenity-js/commit/75137526c70d92869c87a127454c5b90a9948b87)), closes [#1102](https://github.com/serenity-js/serenity-js/issues/1102)
67
82
 
68
83
 
69
84
 
70
- # [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)
71
85
 
72
86
 
87
+ # [3.0.0-rc.40](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.39...v3.0.0-rc.40) (2023-01-06)
73
88
 
74
- # [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)
89
+ **Note:** Version bump only for package @serenity-js/webdriverio
75
90
 
76
91
 
77
92
 
78
- # [3.0.0-rc.0](https://github.com/serenity-js/serenity-js/compare/v2.32.5...v3.0.0-rc.0) (2021-12-08)
79
93
 
80
94
 
81
- ### Bug Fixes
95
+ # [3.0.0-rc.39](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.38...v3.0.0-rc.39) (2023-01-05)
82
96
 
83
- * **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)
84
- * **deps:** updated WebdriverIO ([9de63d4](https://github.com/serenity-js/serenity-js/commit/9de63d460d9735abfc5bb066671f6f28c3274597))
85
- * **deps:** web ([b075b8e](https://github.com/serenity-js/serenity-js/commit/b075b8ecd8e00014469dda15a90175d60ed80c91))
86
- * **web:** corrected timestamp rounding when retrieving the expiry date of a cookie ([d636965](https://github.com/serenity-js/serenity-js/commit/d63696586618cd701e703e33dd8b476efaac65b6))
87
- * **webdriverio:** ensure getLastScriptExecutionResult returns undefined for void functions ([aa00dfd](https://github.com/serenity-js/serenity-js/commit/aa00dfd3ab320a5d7ee786feea1ce0355ac42638))
88
- * **webdriverio:** fixed synchronisation issue in ModalDialog ([12324b2](https://github.com/serenity-js/serenity-js/commit/12324b2cef9c161df8b68960d5b958c1f208f70a)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
89
- * **webdriverio:** separated UIElement.hoverOver from UIElement.scrollIntoView ([cf4ca2c](https://github.com/serenity-js/serenity-js/commit/cf4ca2c531e0f90f9a27917e322359c13bfbc6e6))
90
- * **webdriverio:** updated WebdriverIO to 7.13.2 ([ef79d19](https://github.com/serenity-js/serenity-js/commit/ef79d1962224e8dd04a1b0e099662c91ea118dfe))
91
- * **webdriverio:** updated WebdriverIO to 7.16.7 ([3316e29](https://github.com/serenity-js/serenity-js/commit/3316e2905e68b1cabf76086da353072376f95f4a))
92
- * **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)
93
- * **web:** renamed Element and associated classes to PageElement to avoid name conflicts ([1e4204b](https://github.com/serenity-js/serenity-js/commit/1e4204b5507469e6574c87a6d84454e39e8a813e))
94
- * **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)
95
- * **web:** standardised getters across PageElement implementations ([336472b](https://github.com/serenity-js/serenity-js/commit/336472b1a6882412f6a88483e51266909a1d51d0))
96
97
 
98
+ ### Bug Fixes
97
99
 
98
- ### Features
100
+ * **core:** simplified AsyncOperation events ([ac1a88f](https://github.com/serenity-js/serenity-js/commit/ac1a88f95560b5f163ac3f2302f4274f4bf99455))
101
+ * **core:** simplified internal AsyncOperation events to separate service name from task description ([0162d28](https://github.com/serenity-js/serenity-js/commit/0162d287c84a4ab716e5e655cfc2b816ba89f394))
102
+ * **rest:** support for Axios 1.2.2 ([b6fa54b](https://github.com/serenity-js/serenity-js/commit/b6fa54b0d372bcf846d12bb60c91ac637015d1c6))
99
103
 
100
- * **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)
101
- * **web:** a common way to run the tests for all the web adapters ([c7e584a](https://github.com/serenity-js/serenity-js/commit/c7e584a9bf288ebc7781affdb720097527e8ed3a))
102
- * **web:** added Page.viewportSize and Page.setViewportSize methods ([4cabbe2](https://github.com/serenity-js/serenity-js/commit/4cabbe21a7fbac3457c6a6ea3d4442a62c3f1f3c))
103
- * **web:** all Screenplay APIs migrated from @serenity-js/webdriverio to @serenity-js/web ([7b6b95d](https://github.com/serenity-js/serenity-js/commit/7b6b95dc255446c29ae213ba2a1d142d426d16c8))
104
- * **webdriverio:** support for native WebdriverIO services ([8d5ad22](https://github.com/serenity-js/serenity-js/commit/8d5ad22594cdb2ebddedc58a30259ca8430e360c))
105
- * **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)
106
- * **web:** interaction to setViewportSize of a Page ([dd7f180](https://github.com/serenity-js/serenity-js/commit/dd7f18057b857d2e69c19265888bfd5b15fda21b))
107
- * **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)
108
- * **web:** new module @serenity-js/web to provide Web-related Screenplay Pattern APIs ([bead861](https://github.com/serenity-js/serenity-js/commit/bead8612af1a5c99b775e680a3904f44d0281cf9))
109
- * **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)
110
- * **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)
111
- * **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)
112
- * **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)
113
104
 
114
105
 
115
- ### BREAKING CHANGES
116
106
 
117
- * **core:** Introduced @serenity-js/web - a shared library for Serenity/JS Web integration
118
- modules such as @serenity-js/protractor and @serenity-js/webdriverio. Dropped support for Node 12.
119
107
 
108
+ # [3.0.0-rc.38](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.37...v3.0.0-rc.38) (2022-12-28)
120
109
 
110
+ **Note:** Version bump only for package @serenity-js/webdriverio
121
111
 
122
112
 
123
113
 
124
- # [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)
125
114
 
126
115
 
127
- ### Features
116
+ # [3.0.0-rc.37](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.36...v3.0.0-rc.37) (2022-12-18)
128
117
 
129
- * **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)
118
+ **Note:** Version bump only for package @serenity-js/webdriverio
130
119
 
131
120
 
132
121
 
133
122
 
134
123
 
135
- # [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)
124
+ # [3.0.0-rc.36](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.35...v3.0.0-rc.36) (2022-11-28)
136
125
 
137
126
  **Note:** Version bump only for package @serenity-js/webdriverio
138
127
 
@@ -140,26 +129,26 @@ modules such as @serenity-js/protractor and @serenity-js/webdriverio. Dropped su
140
129
 
141
130
 
142
131
 
143
- # [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)
132
+ # [3.0.0-rc.35](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.34...v3.0.0-rc.35) (2022-11-25)
144
133
 
145
134
 
146
135
  ### Bug Fixes
147
136
 
148
- * **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)
149
- * **deps:** updated tiny-types to 1.17.0 ([3187051](https://github.com/serenity-js/serenity-js/commit/3187051594158b4b450c82e851e417fd2ed21652))
150
- * **web:** refactored Selector and NativeElementLocator classes to simplify the implementation ([f0c8f11](https://github.com/serenity-js/serenity-js/commit/f0c8f113433958877d36f13d0bc7f355ea68d280))
137
+ * **webdriverio:** migrated to use Puppeteer 19.3 APIs ([1aa2ab7](https://github.com/serenity-js/serenity-js/commit/1aa2ab7495a7ddc7edf37f6d351ce26ccc7090c8))
151
138
 
152
139
 
153
- ### Features
154
140
 
155
- * **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))
156
- * **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)
157
141
 
158
142
 
143
+ # [3.0.0-rc.34](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.33...v3.0.0-rc.34) (2022-11-21)
144
+
145
+ **Note:** Version bump only for package @serenity-js/webdriverio
146
+
159
147
 
160
148
 
161
149
 
162
- # [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)
150
+
151
+ # [3.0.0-rc.33](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.32...v3.0.0-rc.33) (2022-11-07)
163
152
 
164
153
  **Note:** Version bump only for package @serenity-js/webdriverio
165
154
 
@@ -167,7 +156,7 @@ modules such as @serenity-js/protractor and @serenity-js/webdriverio. Dropped su
167
156
 
168
157
 
169
158
 
170
- # [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)
159
+ # [3.0.0-rc.32](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.31...v3.0.0-rc.32) (2022-10-12)
171
160
 
172
161
  **Note:** Version bump only for package @serenity-js/webdriverio
173
162
 
@@ -175,64 +164,57 @@ modules such as @serenity-js/protractor and @serenity-js/webdriverio. Dropped su
175
164
 
176
165
 
177
166
 
178
- # [3.0.0-rc.0](https://github.com/serenity-js/serenity-js/compare/v2.32.5...v3.0.0-rc.0) (2021-12-08)
167
+ # [3.0.0-rc.31](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.30...v3.0.0-rc.31) (2022-10-07)
179
168
 
180
169
 
181
170
  ### Bug Fixes
182
171
 
183
- * **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)
184
- * **deps:** updated WebdriverIO ([9de63d4](https://github.com/serenity-js/serenity-js/commit/9de63d460d9735abfc5bb066671f6f28c3274597))
185
- * **deps:** web ([b075b8e](https://github.com/serenity-js/serenity-js/commit/b075b8ecd8e00014469dda15a90175d60ed80c91))
186
- * **web:** corrected timestamp rounding when retrieving the expiry date of a cookie ([d636965](https://github.com/serenity-js/serenity-js/commit/d63696586618cd701e703e33dd8b476efaac65b6))
187
- * **webdriverio:** ensure getLastScriptExecutionResult returns undefined for void functions ([aa00dfd](https://github.com/serenity-js/serenity-js/commit/aa00dfd3ab320a5d7ee786feea1ce0355ac42638))
188
- * **webdriverio:** fixed synchronisation issue in ModalDialog ([12324b2](https://github.com/serenity-js/serenity-js/commit/12324b2cef9c161df8b68960d5b958c1f208f70a)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
189
- * **webdriverio:** separated UIElement.hoverOver from UIElement.scrollIntoView ([cf4ca2c](https://github.com/serenity-js/serenity-js/commit/cf4ca2c531e0f90f9a27917e322359c13bfbc6e6))
190
- * **webdriverio:** updated WebdriverIO to 7.13.2 ([ef79d19](https://github.com/serenity-js/serenity-js/commit/ef79d1962224e8dd04a1b0e099662c91ea118dfe))
191
- * **webdriverio:** updated WebdriverIO to 7.16.7 ([3316e29](https://github.com/serenity-js/serenity-js/commit/3316e2905e68b1cabf76086da353072376f95f4a))
192
- * **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)
193
- * **web:** renamed Element and associated classes to PageElement to avoid name conflicts ([1e4204b](https://github.com/serenity-js/serenity-js/commit/1e4204b5507469e6574c87a6d84454e39e8a813e))
194
- * **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)
195
- * **web:** standardised getters across PageElement implementations ([336472b](https://github.com/serenity-js/serenity-js/commit/336472b1a6882412f6a88483e51266909a1d51d0))
172
+ * **webdriverio:** standardised Web model APIs to always use async/await ([8ea447f](https://github.com/serenity-js/serenity-js/commit/8ea447fdff8cc53ba3a2affef2c0a45ce6014a60))
173
+ * **web:** interaction to Clear.theValueOf(field) triggers compatible events for all web tools ([ee6c112](https://github.com/serenity-js/serenity-js/commit/ee6c112f0dbfd4fe78ee1a8793ef6be49be803f5)), closes [#1329](https://github.com/serenity-js/serenity-js/issues/1329)
174
+
175
+
176
+
177
+
178
+
179
+ # [3.0.0-rc.30](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.29...v3.0.0-rc.30) (2022-10-05)
180
+
181
+
182
+ ### Bug Fixes
183
+
184
+ * **web:** all web modules now correctly support handling iframe context for the current page ([bcb8672](https://github.com/serenity-js/serenity-js/commit/bcb86722dfcaa023613e63fb8bd2e14d6d546efd)), closes [#1310](https://github.com/serenity-js/serenity-js/issues/1310)
185
+ * **web:** improve handling of closed windows on remote grids ([79d387d](https://github.com/serenity-js/serenity-js/commit/79d387d2d4a55367c3505f4c98f29f71a6a753f5)), closes [#1310](https://github.com/serenity-js/serenity-js/issues/1310)
196
186
 
197
187
 
198
188
  ### Features
199
189
 
200
- * **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)
201
- * **web:** a common way to run the tests for all the web adapters ([c7e584a](https://github.com/serenity-js/serenity-js/commit/c7e584a9bf288ebc7781affdb720097527e8ed3a))
202
- * **web:** added Page.viewportSize and Page.setViewportSize methods ([4cabbe2](https://github.com/serenity-js/serenity-js/commit/4cabbe21a7fbac3457c6a6ea3d4442a62c3f1f3c))
203
- * **web:** all Screenplay APIs migrated from @serenity-js/webdriverio to @serenity-js/web ([7b6b95d](https://github.com/serenity-js/serenity-js/commit/7b6b95dc255446c29ae213ba2a1d142d426d16c8))
204
- * **webdriverio:** support for native WebdriverIO services ([8d5ad22](https://github.com/serenity-js/serenity-js/commit/8d5ad22594cdb2ebddedc58a30259ca8430e360c))
205
- * **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)
206
- * **web:** interaction to setViewportSize of a Page ([dd7f180](https://github.com/serenity-js/serenity-js/commit/dd7f18057b857d2e69c19265888bfd5b15fda21b))
207
- * **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)
208
- * **web:** new module @serenity-js/web to provide Web-related Screenplay Pattern APIs ([bead861](https://github.com/serenity-js/serenity-js/commit/bead8612af1a5c99b775e680a3904f44d0281cf9))
209
- * **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)
210
- * **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)
211
- * **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)
212
- * **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)
190
+ * **web:** interaction to Clear works with "contenteditable" elements across all the web tools ([c53b00d](https://github.com/serenity-js/serenity-js/commit/c53b00dac512977c00e5eadc101e281997f8e0de)), closes [#1306](https://github.com/serenity-js/serenity-js/issues/1306)
213
191
 
214
192
 
215
- ### BREAKING CHANGES
216
193
 
217
- * **core:** Introduced @serenity-js/web - a shared library for Serenity/JS Web integration
218
- modules such as @serenity-js/protractor and @serenity-js/webdriverio. Dropped support for Node 12.
194
+
195
+
196
+ # [3.0.0-rc.29](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.28...v3.0.0-rc.29) (2022-10-01)
197
+
198
+ **Note:** Version bump only for package @serenity-js/webdriverio
219
199
 
220
200
 
221
201
 
222
202
 
223
203
 
224
- ## [2.32.7](https://github.com/serenity-js/serenity-js/compare/v2.32.6...v2.32.7) (2022-01-10)
204
+ # [3.0.0-rc.28](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.27...v3.0.0-rc.28) (2022-09-30)
225
205
 
226
206
 
227
207
  ### Bug Fixes
228
208
 
229
- * **webdriverio:** SECURITY: updated WebdriverIO to 7.16.13 ([2062dfd](https://github.com/serenity-js/serenity-js/commit/2062dfd3277b68335502082df1abe7a5bcb4ca7f)), closes [Marak/colors.js#285](https://github.com/Marak/colors.js/issues/285)
209
+ * **core:** activity is now able to detect invocation location on Node 14 ([41f4776](https://github.com/serenity-js/serenity-js/commit/41f4776736620bc32d474d9b66f69c742f8eca96)), closes [#1240](https://github.com/serenity-js/serenity-js/issues/1240)
210
+ * **core:** simplified SceneFinishes event ([9ad947a](https://github.com/serenity-js/serenity-js/commit/9ad947adc49cefd9b64f48b02bc173f073f545c4)), closes [#1240](https://github.com/serenity-js/serenity-js/issues/1240)
211
+ * **playwright:** corrected not(isPresent()) for PlaywrightPageElement ([0693b2f](https://github.com/serenity-js/serenity-js/commit/0693b2f2666a8de327c990c72ecf42fc3d7da498)), closes [#1240](https://github.com/serenity-js/serenity-js/issues/1240)
230
212
 
231
213
 
232
214
 
233
215
 
234
216
 
235
- ## [2.32.6](https://github.com/serenity-js/serenity-js/compare/v2.32.5...v2.32.6) (2022-01-10)
217
+ # [3.0.0-rc.27](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.26...v3.0.0-rc.27) (2022-08-26)
236
218
 
237
219
  **Note:** Version bump only for package @serenity-js/webdriverio
238
220
 
@@ -240,15 +222,32 @@ modules such as @serenity-js/protractor and @serenity-js/webdriverio. Dropped su
240
222
 
241
223
 
242
224
 
243
- ## [2.32.5](https://github.com/serenity-js/serenity-js/compare/v2.32.4...v2.32.5) (2021-12-08)
225
+ # [3.0.0-rc.26](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.25...v3.0.0-rc.26) (2022-08-15)
244
226
 
245
- **Note:** Version bump only for package @serenity-js/webdriverio
227
+
228
+ ### Bug Fixes
229
+
230
+ * **webdriverio:** updated WebdriverIO dependencies to 7.20.9 ([da3ff9c](https://github.com/serenity-js/serenity-js/commit/da3ff9c4c55f59758450fc8428e0596f3d372ce6))
246
231
 
247
232
 
248
233
 
249
234
 
250
235
 
251
- ## [2.32.4](https://github.com/serenity-js/serenity-js/compare/v2.32.3...v2.32.4) (2021-11-25)
236
+ # [3.0.0-rc.25](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.24...v3.0.0-rc.25) (2022-08-15)
237
+
238
+
239
+ ### Bug Fixes
240
+
241
+ * **core:** extracted common TypeScript configuration ([0108370](https://github.com/serenity-js/serenity-js/commit/0108370a6a7ebb4bcd71773482801d29f5660268))
242
+ * **deps:** updated TinyTypes to 1.19.0 ([f6d53e4](https://github.com/serenity-js/serenity-js/commit/f6d53e4dbbfcb81139bd888ac11441b6344e47f5))
243
+ * **webdriverio:** ensure Serenity/JS-specific config is not passed to WebdriverIO-specific services ([384738e](https://github.com/serenity-js/serenity-js/commit/384738e0d7b61b69de24b11ff1fbc32b835a440c))
244
+ * **webdriverio:** use local instead of global browser object in WebdriverioPage ([323be75](https://github.com/serenity-js/serenity-js/commit/323be7517ea8b90f967f510c03c744330c5ba2b0))
245
+
246
+
247
+
248
+
249
+
250
+ # [3.0.0-rc.24](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.23...v3.0.0-rc.24) (2022-07-23)
252
251
 
253
252
  **Note:** Version bump only for package @serenity-js/webdriverio
254
253
 
@@ -256,96 +255,220 @@ modules such as @serenity-js/protractor and @serenity-js/webdriverio. Dropped su
256
255
 
257
256
 
258
257
 
259
- ## [2.32.3](https://github.com/serenity-js/serenity-js/compare/v2.32.2...v2.32.3) (2021-11-06)
258
+ # [3.0.0-rc.23](https://github.com/serenity-js/serenity-js/compare/v2.33.10...v3.0.0-rc.23) (2022-07-19)
260
259
 
261
260
 
262
261
  ### Bug Fixes
263
262
 
264
- * **core:** support for NPM 8 ([7cb470c](https://github.com/serenity-js/serenity-js/commit/7cb470c985a7149f058a317dcb14e6294913f9ff))
263
+ * **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)
264
+
265
265
 
266
266
 
267
+ # [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)
267
268
 
268
269
 
270
+ ### Bug Fixes
271
+
272
+ * **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)
269
273
 
270
- ## [2.32.2](https://github.com/serenity-js/serenity-js/compare/v2.32.1...v2.32.2) (2021-10-04)
274
+
275
+
276
+ # [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)
271
277
 
272
278
 
273
279
  ### Bug Fixes
274
280
 
275
- * **rest:** reverted axios to 0.21.4 to avoid issue axios/axios[#4124](https://github.com/serenity-js/serenity-js/issues/4124) introduced in version 0.22.0 ([ce1fc7f](https://github.com/serenity-js/serenity-js/commit/ce1fc7f8c8dcee0c0f41a2a2663b9ebe18de740d))
281
+ * **web:** corrected promise handling to avoid the unhandled promise rejection warning ([daac705](https://github.com/serenity-js/serenity-js/commit/daac705174683425109591e25139b5172fbdd7d3))
276
282
 
277
283
 
278
284
 
285
+ # [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)
279
286
 
280
287
 
281
- ## [2.32.1](https://github.com/serenity-js/serenity-js/compare/v2.32.0...v2.32.1) (2021-09-17)
288
+ ### Bug Fixes
282
289
 
283
- **Note:** Version bump only for package @serenity-js/webdriverio
290
+ * **webdriverio:** improved resiliency of the WebdriverIOPuppeteerModalDialogHandler ([5e56edf](https://github.com/serenity-js/serenity-js/commit/5e56edf875a6d21cabbe02505179e98d05bc89b7)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
291
+ * **webdriverio:** updated WebdriverIO dependencies ([0833a3c](https://github.com/serenity-js/serenity-js/commit/0833a3cb804bf800645c564877277c8498412ef2))
292
+ * **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)
293
+ * **web:** removed dependency on is-plain-object ([cbe76a6](https://github.com/serenity-js/serenity-js/commit/cbe76a6e36f3ccc4a012e81244aa108a040b2d45))
294
+ * **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
+
296
+
297
+ ### Features
298
+
299
+ * **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)
300
+ * **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)
301
+ * **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)
302
+ * **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)
303
+ * **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)
304
+ * **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)
305
+ * **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)
284
306
 
285
307
 
286
308
 
309
+ # [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)
287
310
 
288
311
 
289
- # [2.32.0](https://github.com/serenity-js/serenity-js/compare/v2.31.1...v2.32.0) (2021-09-08)
312
+ ### Bug Fixes
313
+
314
+ * **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)
315
+
316
+
317
+
318
+ # [3.0.0-rc.18](https://github.com/serenity-js/serenity-js/compare/v2.33.9...v3.0.0-rc.18) (2022-06-06)
319
+
320
+
321
+ ### Bug Fixes
322
+
323
+ * **deps:** updated tiny-types ([f1951cf](https://github.com/serenity-js/serenity-js/commit/f1951cf753df3807b5778d116f8e8bc3f24830a7))
324
+ * **deps:** updated tiny-types to 1.18.2 ([83a651c](https://github.com/serenity-js/serenity-js/commit/83a651c4c2f3f8dbaabcdacba94c720efdff45dd))
325
+
326
+
327
+
328
+ # [3.0.0-rc.17](https://github.com/serenity-js/serenity-js/compare/v2.33.8...v3.0.0-rc.17) (2022-06-02)
329
+
330
+
331
+
332
+ # [3.0.0-rc.16](https://github.com/serenity-js/serenity-js/compare/v2.33.6...v3.0.0-rc.16) (2022-04-15)
333
+
334
+
335
+
336
+ # [3.0.0-rc.15](https://github.com/serenity-js/serenity-js/compare/v2.33.5...v3.0.0-rc.15) (2022-04-10)
337
+
338
+
339
+
340
+ # [3.0.0-rc.14](https://github.com/serenity-js/serenity-js/compare/v2.33.3...v3.0.0-rc.14) (2022-03-28)
341
+
342
+
343
+
344
+ # [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)
290
345
 
291
346
 
292
347
  ### Features
293
348
 
294
- * **webdriverio:** implemented Scroll interaction ([fcea8a3](https://github.com/serenity-js/serenity-js/commit/fcea8a3bcf57beecf170198b5f43628f30a8c98b))
349
+ * **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)
295
350
 
296
351
 
297
352
 
353
+ # [3.0.0-rc.12](https://github.com/serenity-js/serenity-js/compare/v2.33.2...v3.0.0-rc.12) (2022-02-23)
298
354
 
299
355
 
300
- ## [2.31.1](https://github.com/serenity-js/serenity-js/compare/v2.31.0...v2.31.1) (2021-08-27)
301
356
 
357
+ # [3.0.0-rc.11](https://github.com/serenity-js/serenity-js/compare/v2.33.1...v3.0.0-rc.11) (2022-02-13)
302
358
 
303
- ### Bug Fixes
304
359
 
305
- * **cucumber:** don't pass the "rerun" file to Cucumber if it doesn't exist ([b08eca2](https://github.com/serenity-js/serenity-js/commit/b08eca2b849194835385d0966b0f4a9895fe1d24)), closes [#971](https://github.com/serenity-js/serenity-js/issues/971) [protractor-cucumber-framework/protractor-cucumber-framework#219](https://github.com/protractor-cucumber-framework/protractor-cucumber-framework/issues/219)
360
+ ### Features
361
+
362
+ * **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)
306
363
 
307
364
 
308
365
 
366
+ # [3.0.0-rc.10](https://github.com/serenity-js/serenity-js/compare/v2.33.0...v3.0.0-rc.10) (2022-02-03)
309
367
 
310
368
 
311
- # [2.31.0](https://github.com/serenity-js/serenity-js/compare/v2.30.3...v2.31.0) (2021-08-23)
312
369
 
313
- **Note:** Version bump only for package @serenity-js/webdriverio
370
+ # [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)
314
371
 
315
372
 
373
+ ### Features
316
374
 
375
+ * **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)
317
376
 
318
377
 
319
- ## [2.30.3](https://github.com/serenity-js/serenity-js/compare/v2.30.2...v2.30.3) (2021-08-16)
320
378
 
321
- **Note:** Version bump only for package @serenity-js/webdriverio
379
+ # [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)
322
380
 
323
381
 
382
+ ### Bug Fixes
324
383
 
384
+ * **webdriverio:** corrected visibility of the `browser` field on BrowseTheWebWithWebdriverIO ([0de725f](https://github.com/serenity-js/serenity-js/commit/0de725f71ec67c496b16fabdbc7e1a06715732fa))
325
385
 
326
386
 
327
- ## [2.30.2](https://github.com/serenity-js/serenity-js/compare/v2.30.1...v2.30.2) (2021-08-13)
328
387
 
329
- **Note:** Version bump only for package @serenity-js/webdriverio
388
+ # [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)
389
+
390
+
391
+
392
+ # [3.0.0-rc.6](https://github.com/serenity-js/serenity-js/compare/v2.32.7...v3.0.0-rc.6) (2022-01-10)
330
393
 
331
394
 
332
395
 
396
+ # [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)
333
397
 
334
398
 
335
- ## [2.30.1](https://github.com/serenity-js/serenity-js/compare/v2.30.0...v2.30.1) (2021-08-09)
399
+ ### Features
400
+
401
+ * **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)
402
+
403
+
404
+
405
+ # [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)
406
+
407
+
408
+
409
+ # [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)
336
410
 
337
411
 
338
412
  ### Bug Fixes
339
413
 
340
- * **webdriverio:** you can import WebdriverIOConfig from @serenity-js/webdriverio ([59703bf](https://github.com/serenity-js/serenity-js/commit/59703bf4fb13488bce2382eb411e67b4342e0e2d))
414
+ * **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)
415
+ * **deps:** updated tiny-types to 1.17.0 ([3187051](https://github.com/serenity-js/serenity-js/commit/3187051594158b4b450c82e851e417fd2ed21652))
416
+ * **web:** refactored Selector and NativeElementLocator classes to simplify the implementation ([f0c8f11](https://github.com/serenity-js/serenity-js/commit/f0c8f113433958877d36f13d0bc7f355ea68d280))
341
417
 
342
418
 
419
+ ### Features
420
+
421
+ * **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))
422
+ * **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)
423
+
424
+
425
+
426
+ # [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)
427
+
343
428
 
344
429
 
430
+ # [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)
431
+
432
+
433
+
434
+ # [3.0.0-rc.0](https://github.com/serenity-js/serenity-js/compare/v2.32.5...v3.0.0-rc.0) (2021-12-08)
345
435
 
346
- # [2.30.0](https://github.com/serenity-js/serenity-js/compare/v2.29.9...v2.30.0) (2021-08-06)
436
+
437
+ ### Bug Fixes
438
+
439
+ * **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)
440
+ * **deps:** updated WebdriverIO ([9de63d4](https://github.com/serenity-js/serenity-js/commit/9de63d460d9735abfc5bb066671f6f28c3274597))
441
+ * **deps:** web ([b075b8e](https://github.com/serenity-js/serenity-js/commit/b075b8ecd8e00014469dda15a90175d60ed80c91))
442
+ * **web:** corrected timestamp rounding when retrieving the expiry date of a cookie ([d636965](https://github.com/serenity-js/serenity-js/commit/d63696586618cd701e703e33dd8b476efaac65b6))
443
+ * **webdriverio:** ensure getLastScriptExecutionResult returns undefined for void functions ([aa00dfd](https://github.com/serenity-js/serenity-js/commit/aa00dfd3ab320a5d7ee786feea1ce0355ac42638))
444
+ * **webdriverio:** fixed synchronisation issue in ModalDialog ([12324b2](https://github.com/serenity-js/serenity-js/commit/12324b2cef9c161df8b68960d5b958c1f208f70a)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
445
+ * **webdriverio:** separated UIElement.hoverOver from UIElement.scrollIntoView ([cf4ca2c](https://github.com/serenity-js/serenity-js/commit/cf4ca2c531e0f90f9a27917e322359c13bfbc6e6))
446
+ * **webdriverio:** updated WebdriverIO to 7.13.2 ([ef79d19](https://github.com/serenity-js/serenity-js/commit/ef79d1962224e8dd04a1b0e099662c91ea118dfe))
447
+ * **webdriverio:** updated WebdriverIO to 7.16.7 ([3316e29](https://github.com/serenity-js/serenity-js/commit/3316e2905e68b1cabf76086da353072376f95f4a))
448
+ * **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)
449
+ * **web:** renamed Element and associated classes to PageElement to avoid name conflicts ([1e4204b](https://github.com/serenity-js/serenity-js/commit/1e4204b5507469e6574c87a6d84454e39e8a813e))
450
+ * **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)
451
+ * **web:** standardised getters across PageElement implementations ([336472b](https://github.com/serenity-js/serenity-js/commit/336472b1a6882412f6a88483e51266909a1d51d0))
347
452
 
348
453
 
349
454
  ### Features
350
455
 
351
- * **webdriverio:** enabled integration with WebdriverIO ([c025086](https://github.com/serenity-js/serenity-js/commit/c0250864b4492e7a619e3ac746f1d058cbe26794)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
456
+ * **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)
457
+ * **web:** a common way to run the tests for all the web adapters ([c7e584a](https://github.com/serenity-js/serenity-js/commit/c7e584a9bf288ebc7781affdb720097527e8ed3a))
458
+ * **web:** added Page.viewportSize and Page.setViewportSize methods ([4cabbe2](https://github.com/serenity-js/serenity-js/commit/4cabbe21a7fbac3457c6a6ea3d4442a62c3f1f3c))
459
+ * **web:** all Screenplay APIs migrated from @serenity-js/webdriverio to @serenity-js/web ([7b6b95d](https://github.com/serenity-js/serenity-js/commit/7b6b95dc255446c29ae213ba2a1d142d426d16c8))
460
+ * **webdriverio:** support for native WebdriverIO services ([8d5ad22](https://github.com/serenity-js/serenity-js/commit/8d5ad22594cdb2ebddedc58a30259ca8430e360c))
461
+ * **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)
462
+ * **web:** interaction to setViewportSize of a Page ([dd7f180](https://github.com/serenity-js/serenity-js/commit/dd7f18057b857d2e69c19265888bfd5b15fda21b))
463
+ * **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)
464
+ * **web:** new module @serenity-js/web to provide Web-related Screenplay Pattern APIs ([bead861](https://github.com/serenity-js/serenity-js/commit/bead8612af1a5c99b775e680a3904f44d0281cf9))
465
+ * **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)
466
+ * **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)
467
+ * **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)
468
+ * **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)
469
+
470
+
471
+ ### BREAKING CHANGES
472
+
473
+ * **core:** Introduced @serenity-js/web - a shared library for Serenity/JS Web integration
474
+ modules such as @serenity-js/protractor and @serenity-js/webdriverio. Dropped support for Node 12.