@serenity-js/webdriverio 2.32.4 → 3.0.0-rc.2

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 (240) hide show
  1. package/CHANGELOG.md +70 -0
  2. package/lib/adapter/WebdriverIOFrameworkAdapter.js +1 -1
  3. package/lib/adapter/WebdriverIOFrameworkAdapter.js.map +1 -1
  4. package/lib/adapter/WebdriverIONotifier.d.ts +35 -1
  5. package/lib/adapter/WebdriverIONotifier.js +174 -13
  6. package/lib/adapter/WebdriverIONotifier.js.map +1 -1
  7. package/lib/index.d.ts +0 -3
  8. package/lib/index.js +0 -3
  9. package/lib/index.js.map +1 -1
  10. package/lib/screenplay/abilities/{BrowseTheWeb.d.ts → BrowseTheWebWithWebdriverIO.d.ts} +79 -23
  11. package/lib/screenplay/abilities/{BrowseTheWeb.js → BrowseTheWebWithWebdriverIO.js} +160 -25
  12. package/lib/screenplay/abilities/BrowseTheWebWithWebdriverIO.js.map +1 -0
  13. package/lib/screenplay/abilities/index.d.ts +1 -1
  14. package/lib/screenplay/abilities/index.js +1 -1
  15. package/lib/screenplay/abilities/index.js.map +1 -1
  16. package/lib/screenplay/index.d.ts +1 -2
  17. package/lib/screenplay/index.js +1 -2
  18. package/lib/screenplay/index.js.map +1 -1
  19. package/lib/screenplay/models/WebdriverIOCookie.d.ts +8 -0
  20. package/lib/screenplay/models/WebdriverIOCookie.js +39 -0
  21. package/lib/screenplay/models/WebdriverIOCookie.js.map +1 -0
  22. package/lib/screenplay/models/WebdriverIOModalDialog.d.ts +11 -0
  23. package/lib/screenplay/models/WebdriverIOModalDialog.js +40 -0
  24. package/lib/screenplay/models/WebdriverIOModalDialog.js.map +1 -0
  25. package/lib/screenplay/models/WebdriverIONativeElementRoot.d.ts +2 -0
  26. package/lib/screenplay/{interactions/EnterBuilder.js → models/WebdriverIONativeElementRoot.js} +1 -1
  27. package/lib/screenplay/models/WebdriverIONativeElementRoot.js.map +1 -0
  28. package/lib/screenplay/models/WebdriverIOPage.d.ts +24 -0
  29. package/lib/screenplay/models/WebdriverIOPage.js +98 -0
  30. package/lib/screenplay/models/WebdriverIOPage.js.map +1 -0
  31. package/lib/screenplay/models/WebdriverIOPageElement.d.ts +22 -0
  32. package/lib/screenplay/models/WebdriverIOPageElement.js +75 -0
  33. package/lib/screenplay/models/WebdriverIOPageElement.js.map +1 -0
  34. package/lib/screenplay/models/WebdriverIOPageElements.d.ts +15 -0
  35. package/lib/screenplay/models/WebdriverIOPageElements.js +65 -0
  36. package/lib/screenplay/models/WebdriverIOPageElements.js.map +1 -0
  37. package/lib/screenplay/models/index.d.ts +6 -0
  38. package/lib/{input → screenplay/models}/index.js +6 -1
  39. package/lib/screenplay/models/index.js.map +1 -0
  40. package/package.json +18 -28
  41. package/src/adapter/WebdriverIOFrameworkAdapter.ts +2 -0
  42. package/src/adapter/WebdriverIONotifier.ts +225 -23
  43. package/src/index.ts +0 -3
  44. package/src/screenplay/abilities/{BrowseTheWeb.ts → BrowseTheWebWithWebdriverIO.ts} +200 -31
  45. package/src/screenplay/abilities/index.ts +1 -1
  46. package/src/screenplay/index.ts +1 -2
  47. package/src/screenplay/models/WebdriverIOCookie.ts +44 -0
  48. package/src/screenplay/models/WebdriverIOModalDialog.ts +45 -0
  49. package/src/screenplay/models/WebdriverIONativeElementRoot.ts +3 -0
  50. package/src/screenplay/models/WebdriverIOPage.ts +120 -0
  51. package/src/screenplay/models/WebdriverIOPageElement.ts +92 -0
  52. package/src/screenplay/models/WebdriverIOPageElements.ts +91 -0
  53. package/src/screenplay/models/index.ts +6 -0
  54. package/lib/expectations/ElementExpectation.d.ts +0 -11
  55. package/lib/expectations/ElementExpectation.js +0 -27
  56. package/lib/expectations/ElementExpectation.js.map +0 -1
  57. package/lib/expectations/index.d.ts +0 -6
  58. package/lib/expectations/index.js +0 -19
  59. package/lib/expectations/index.js.map +0 -1
  60. package/lib/expectations/isActive.d.ts +0 -15
  61. package/lib/expectations/isActive.js +0 -21
  62. package/lib/expectations/isActive.js.map +0 -1
  63. package/lib/expectations/isClickable.d.ts +0 -20
  64. package/lib/expectations/isClickable.js +0 -26
  65. package/lib/expectations/isClickable.js.map +0 -1
  66. package/lib/expectations/isEnabled.d.ts +0 -14
  67. package/lib/expectations/isEnabled.js +0 -20
  68. package/lib/expectations/isEnabled.js.map +0 -1
  69. package/lib/expectations/isPresent.d.ts +0 -15
  70. package/lib/expectations/isPresent.js +0 -21
  71. package/lib/expectations/isPresent.js.map +0 -1
  72. package/lib/expectations/isSelected.d.ts +0 -14
  73. package/lib/expectations/isSelected.js +0 -20
  74. package/lib/expectations/isSelected.js.map +0 -1
  75. package/lib/expectations/isVisible.d.ts +0 -14
  76. package/lib/expectations/isVisible.js +0 -20
  77. package/lib/expectations/isVisible.js.map +0 -1
  78. package/lib/input/Key.d.ts +0 -73
  79. package/lib/input/Key.js +0 -84
  80. package/lib/input/Key.js.map +0 -1
  81. package/lib/input/index.d.ts +0 -1
  82. package/lib/input/index.js.map +0 -1
  83. package/lib/screenplay/abilities/BrowseTheWeb.js.map +0 -1
  84. package/lib/screenplay/interactions/Clear.d.ts +0 -79
  85. package/lib/screenplay/interactions/Clear.js +0 -97
  86. package/lib/screenplay/interactions/Clear.js.map +0 -1
  87. package/lib/screenplay/interactions/Click.d.ts +0 -73
  88. package/lib/screenplay/interactions/Click.js +0 -84
  89. package/lib/screenplay/interactions/Click.js.map +0 -1
  90. package/lib/screenplay/interactions/DoubleClick.d.ts +0 -90
  91. package/lib/screenplay/interactions/DoubleClick.js +0 -101
  92. package/lib/screenplay/interactions/DoubleClick.js.map +0 -1
  93. package/lib/screenplay/interactions/Enter.d.ts +0 -73
  94. package/lib/screenplay/interactions/Enter.js +0 -87
  95. package/lib/screenplay/interactions/Enter.js.map +0 -1
  96. package/lib/screenplay/interactions/EnterBuilder.d.ts +0 -25
  97. package/lib/screenplay/interactions/EnterBuilder.js.map +0 -1
  98. package/lib/screenplay/interactions/ExecuteScript.d.ts +0 -206
  99. package/lib/screenplay/interactions/ExecuteScript.js +0 -311
  100. package/lib/screenplay/interactions/ExecuteScript.js.map +0 -1
  101. package/lib/screenplay/interactions/Hover.d.ts +0 -78
  102. package/lib/screenplay/interactions/Hover.js +0 -89
  103. package/lib/screenplay/interactions/Hover.js.map +0 -1
  104. package/lib/screenplay/interactions/Navigate.d.ts +0 -141
  105. package/lib/screenplay/interactions/Navigate.js +0 -197
  106. package/lib/screenplay/interactions/Navigate.js.map +0 -1
  107. package/lib/screenplay/interactions/Press.d.ts +0 -84
  108. package/lib/screenplay/interactions/Press.js +0 -152
  109. package/lib/screenplay/interactions/Press.js.map +0 -1
  110. package/lib/screenplay/interactions/PressBuilder.d.ts +0 -26
  111. package/lib/screenplay/interactions/PressBuilder.js +0 -3
  112. package/lib/screenplay/interactions/PressBuilder.js.map +0 -1
  113. package/lib/screenplay/interactions/RightClick.d.ts +0 -89
  114. package/lib/screenplay/interactions/RightClick.js +0 -100
  115. package/lib/screenplay/interactions/RightClick.js.map +0 -1
  116. package/lib/screenplay/interactions/Scroll.d.ts +0 -75
  117. package/lib/screenplay/interactions/Scroll.js +0 -86
  118. package/lib/screenplay/interactions/Scroll.js.map +0 -1
  119. package/lib/screenplay/interactions/Wait.d.ts +0 -143
  120. package/lib/screenplay/interactions/Wait.js +0 -247
  121. package/lib/screenplay/interactions/Wait.js.map +0 -1
  122. package/lib/screenplay/interactions/WaitBuilder.d.ts +0 -32
  123. package/lib/screenplay/interactions/WaitBuilder.js +0 -3
  124. package/lib/screenplay/interactions/WaitBuilder.js.map +0 -1
  125. package/lib/screenplay/interactions/WebElementInteraction.d.ts +0 -37
  126. package/lib/screenplay/interactions/WebElementInteraction.js +0 -52
  127. package/lib/screenplay/interactions/WebElementInteraction.js.map +0 -1
  128. package/lib/screenplay/interactions/index.d.ts +0 -13
  129. package/lib/screenplay/interactions/index.js +0 -26
  130. package/lib/screenplay/interactions/index.js.map +0 -1
  131. package/lib/screenplay/questions/Attribute.d.ts +0 -82
  132. package/lib/screenplay/questions/Attribute.js +0 -102
  133. package/lib/screenplay/questions/Attribute.js.map +0 -1
  134. package/lib/screenplay/questions/CSSClasses.d.ts +0 -92
  135. package/lib/screenplay/questions/CSSClasses.js +0 -112
  136. package/lib/screenplay/questions/CSSClasses.js.map +0 -1
  137. package/lib/screenplay/questions/LastScriptExecution.d.ts +0 -14
  138. package/lib/screenplay/questions/LastScriptExecution.js +0 -22
  139. package/lib/screenplay/questions/LastScriptExecution.js.map +0 -1
  140. package/lib/screenplay/questions/NestedTargetBuilder.d.ts +0 -27
  141. package/lib/screenplay/questions/NestedTargetBuilder.js +0 -3
  142. package/lib/screenplay/questions/NestedTargetBuilder.js.map +0 -1
  143. package/lib/screenplay/questions/TargetBuilder.d.ts +0 -25
  144. package/lib/screenplay/questions/TargetBuilder.js +0 -3
  145. package/lib/screenplay/questions/TargetBuilder.js.map +0 -1
  146. package/lib/screenplay/questions/Text.d.ts +0 -95
  147. package/lib/screenplay/questions/Text.js +0 -130
  148. package/lib/screenplay/questions/Text.js.map +0 -1
  149. package/lib/screenplay/questions/Value.d.ts +0 -63
  150. package/lib/screenplay/questions/Value.js +0 -78
  151. package/lib/screenplay/questions/Value.js.map +0 -1
  152. package/lib/screenplay/questions/Website.d.ts +0 -21
  153. package/lib/screenplay/questions/Website.js +0 -31
  154. package/lib/screenplay/questions/Website.js.map +0 -1
  155. package/lib/screenplay/questions/index.d.ts +0 -10
  156. package/lib/screenplay/questions/index.js +0 -23
  157. package/lib/screenplay/questions/index.js.map +0 -1
  158. package/lib/screenplay/questions/lists.d.ts +0 -86
  159. package/lib/screenplay/questions/lists.js +0 -137
  160. package/lib/screenplay/questions/lists.js.map +0 -1
  161. package/lib/screenplay/questions/locators.d.ts +0 -196
  162. package/lib/screenplay/questions/locators.js +0 -219
  163. package/lib/screenplay/questions/locators.js.map +0 -1
  164. package/lib/screenplay/questions/targets.d.ts +0 -254
  165. package/lib/screenplay/questions/targets.js +0 -334
  166. package/lib/screenplay/questions/targets.js.map +0 -1
  167. package/lib/stage/crew/index.d.ts +0 -1
  168. package/lib/stage/crew/index.js +0 -14
  169. package/lib/stage/crew/index.js.map +0 -1
  170. package/lib/stage/crew/photographer/Photographer.d.ts +0 -83
  171. package/lib/stage/crew/photographer/Photographer.js +0 -102
  172. package/lib/stage/crew/photographer/Photographer.js.map +0 -1
  173. package/lib/stage/crew/photographer/index.d.ts +0 -2
  174. package/lib/stage/crew/photographer/index.js +0 -15
  175. package/lib/stage/crew/photographer/index.js.map +0 -1
  176. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.d.ts +0 -28
  177. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.js +0 -65
  178. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.js.map +0 -1
  179. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.d.ts +0 -18
  180. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.js +0 -30
  181. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.js.map +0 -1
  182. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.d.ts +0 -17
  183. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.js +0 -28
  184. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.js.map +0 -1
  185. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.d.ts +0 -19
  186. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.js +0 -28
  187. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.js.map +0 -1
  188. package/lib/stage/crew/photographer/strategies/index.d.ts +0 -4
  189. package/lib/stage/crew/photographer/strategies/index.js +0 -17
  190. package/lib/stage/crew/photographer/strategies/index.js.map +0 -1
  191. package/lib/stage/index.d.ts +0 -1
  192. package/lib/stage/index.js +0 -14
  193. package/lib/stage/index.js.map +0 -1
  194. package/src/expectations/ElementExpectation.ts +0 -31
  195. package/src/expectations/index.ts +0 -6
  196. package/src/expectations/isActive.ts +0 -21
  197. package/src/expectations/isClickable.ts +0 -26
  198. package/src/expectations/isEnabled.ts +0 -19
  199. package/src/expectations/isPresent.ts +0 -20
  200. package/src/expectations/isSelected.ts +0 -19
  201. package/src/expectations/isVisible.ts +0 -19
  202. package/src/input/Key.ts +0 -83
  203. package/src/input/index.ts +0 -1
  204. package/src/screenplay/interactions/Clear.ts +0 -102
  205. package/src/screenplay/interactions/Click.ts +0 -85
  206. package/src/screenplay/interactions/DoubleClick.ts +0 -102
  207. package/src/screenplay/interactions/Enter.ts +0 -93
  208. package/src/screenplay/interactions/EnterBuilder.ts +0 -27
  209. package/src/screenplay/interactions/ExecuteScript.ts +0 -344
  210. package/src/screenplay/interactions/Hover.ts +0 -90
  211. package/src/screenplay/interactions/Navigate.ts +0 -208
  212. package/src/screenplay/interactions/Press.ts +0 -172
  213. package/src/screenplay/interactions/PressBuilder.ts +0 -28
  214. package/src/screenplay/interactions/RightClick.ts +0 -100
  215. package/src/screenplay/interactions/Scroll.ts +0 -87
  216. package/src/screenplay/interactions/Wait.ts +0 -267
  217. package/src/screenplay/interactions/WaitBuilder.ts +0 -34
  218. package/src/screenplay/interactions/WebElementInteraction.ts +0 -56
  219. package/src/screenplay/interactions/index.ts +0 -13
  220. package/src/screenplay/questions/Attribute.ts +0 -112
  221. package/src/screenplay/questions/CSSClasses.ts +0 -116
  222. package/src/screenplay/questions/LastScriptExecution.ts +0 -21
  223. package/src/screenplay/questions/NestedTargetBuilder.ts +0 -30
  224. package/src/screenplay/questions/TargetBuilder.ts +0 -27
  225. package/src/screenplay/questions/Text.ts +0 -140
  226. package/src/screenplay/questions/Value.ts +0 -82
  227. package/src/screenplay/questions/Website.ts +0 -34
  228. package/src/screenplay/questions/index.ts +0 -10
  229. package/src/screenplay/questions/lists.ts +0 -161
  230. package/src/screenplay/questions/locators.ts +0 -254
  231. package/src/screenplay/questions/targets.ts +0 -401
  232. package/src/stage/crew/index.ts +0 -1
  233. package/src/stage/crew/photographer/Photographer.ts +0 -108
  234. package/src/stage/crew/photographer/index.ts +0 -2
  235. package/src/stage/crew/photographer/strategies/PhotoTakingStrategy.ts +0 -103
  236. package/src/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.ts +0 -28
  237. package/src/stage/crew/photographer/strategies/TakePhotosOfFailures.ts +0 -26
  238. package/src/stage/crew/photographer/strategies/TakePhotosOfInteractions.ts +0 -26
  239. package/src/stage/crew/photographer/strategies/index.ts +0 -4
  240. package/src/stage/index.ts +0 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,76 @@
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.2](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.1...v3.0.0-rc.2) (2021-12-09)
7
+
8
+ **Note:** Version bump only for package @serenity-js/webdriverio
9
+
10
+
11
+
12
+
13
+
14
+ # [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)
15
+
16
+ **Note:** Version bump only for package @serenity-js/webdriverio
17
+
18
+
19
+
20
+
21
+
22
+ # [3.0.0-rc.0](https://github.com/serenity-js/serenity-js/compare/v2.32.5...v3.0.0-rc.0) (2021-12-08)
23
+
24
+
25
+ ### Bug Fixes
26
+
27
+ * **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)
28
+ * **deps:** updated WebdriverIO ([9de63d4](https://github.com/serenity-js/serenity-js/commit/9de63d460d9735abfc5bb066671f6f28c3274597))
29
+ * **deps:** web ([b075b8e](https://github.com/serenity-js/serenity-js/commit/b075b8ecd8e00014469dda15a90175d60ed80c91))
30
+ * **web:** corrected timestamp rounding when retrieving the expiry date of a cookie ([d636965](https://github.com/serenity-js/serenity-js/commit/d63696586618cd701e703e33dd8b476efaac65b6))
31
+ * **webdriverio:** ensure getLastScriptExecutionResult returns undefined for void functions ([aa00dfd](https://github.com/serenity-js/serenity-js/commit/aa00dfd3ab320a5d7ee786feea1ce0355ac42638))
32
+ * **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)
33
+ * **webdriverio:** separated UIElement.hoverOver from UIElement.scrollIntoView ([cf4ca2c](https://github.com/serenity-js/serenity-js/commit/cf4ca2c531e0f90f9a27917e322359c13bfbc6e6))
34
+ * **webdriverio:** updated WebdriverIO to 7.13.2 ([ef79d19](https://github.com/serenity-js/serenity-js/commit/ef79d1962224e8dd04a1b0e099662c91ea118dfe))
35
+ * **webdriverio:** updated WebdriverIO to 7.16.7 ([3316e29](https://github.com/serenity-js/serenity-js/commit/3316e2905e68b1cabf76086da353072376f95f4a))
36
+ * **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)
37
+ * **web:** renamed Element and associated classes to PageElement to avoid name conflicts ([1e4204b](https://github.com/serenity-js/serenity-js/commit/1e4204b5507469e6574c87a6d84454e39e8a813e))
38
+ * **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)
39
+ * **web:** standardised getters across PageElement implementations ([336472b](https://github.com/serenity-js/serenity-js/commit/336472b1a6882412f6a88483e51266909a1d51d0))
40
+
41
+
42
+ ### Features
43
+
44
+ * **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)
45
+ * **web:** a common way to run the tests for all the web adapters ([c7e584a](https://github.com/serenity-js/serenity-js/commit/c7e584a9bf288ebc7781affdb720097527e8ed3a))
46
+ * **web:** added Page.viewportSize and Page.setViewportSize methods ([4cabbe2](https://github.com/serenity-js/serenity-js/commit/4cabbe21a7fbac3457c6a6ea3d4442a62c3f1f3c))
47
+ * **web:** all Screenplay APIs migrated from @serenity-js/webdriverio to @serenity-js/web ([7b6b95d](https://github.com/serenity-js/serenity-js/commit/7b6b95dc255446c29ae213ba2a1d142d426d16c8))
48
+ * **webdriverio:** support for native WebdriverIO services ([8d5ad22](https://github.com/serenity-js/serenity-js/commit/8d5ad22594cdb2ebddedc58a30259ca8430e360c))
49
+ * **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)
50
+ * **web:** interaction to setViewportSize of a Page ([dd7f180](https://github.com/serenity-js/serenity-js/commit/dd7f18057b857d2e69c19265888bfd5b15fda21b))
51
+ * **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)
52
+ * **web:** new module @serenity-js/web to provide Web-related Screenplay Pattern APIs ([bead861](https://github.com/serenity-js/serenity-js/commit/bead8612af1a5c99b775e680a3904f44d0281cf9))
53
+ * **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)
54
+ * **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)
55
+ * **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)
56
+ * **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)
57
+
58
+
59
+ ### BREAKING CHANGES
60
+
61
+ * **core:** Introduced @serenity-js/web - a shared library for Serenity/JS Web integration
62
+ modules such as @serenity-js/protractor and @serenity-js/webdriverio. Dropped support for Node 12.
63
+
64
+
65
+
66
+
67
+
68
+ ## [2.32.5](https://github.com/serenity-js/serenity-js/compare/v2.32.4...v2.32.5) (2021-12-08)
69
+
70
+ **Note:** Version bump only for package @serenity-js/webdriverio
71
+
72
+
73
+
74
+
75
+
6
76
  ## [2.32.4](https://github.com/serenity-js/serenity-js/compare/v2.32.3...v2.32.4) (2021-11-25)
7
77
 
8
78
  **Note:** Version bump only for package @serenity-js/webdriverio
@@ -30,7 +30,7 @@ class WebdriverIOFrameworkAdapter {
30
30
  reporter._reporters.push(reporter.initReporter([
31
31
  reporter_1.BrowserCapabilitiesReporter, { serenity: this.serenity },
32
32
  ]));
33
- this.notifier = new WebdriverIONotifier_1.WebdriverIONotifier(reporter, this.adapter.successThreshold(), cid, this.specs);
33
+ this.notifier = new WebdriverIONotifier_1.WebdriverIONotifier(config, capabilities, reporter, this.adapter.successThreshold(), cid, this.specs);
34
34
  const outputStreamBuffer = new reporter_1.OutputStreamBuffer(`[${this.cid}]`);
35
35
  const outputStreamBufferPrinter = new OutputStreamBufferPrinter_1.OutputStreamBufferPrinter(outputStreamBuffer, reporter.getWriteStreamObject('@serenity-js/webdriverio'));
36
36
  this.serenity.configure({
@@ -1 +1 @@
1
- {"version":3,"file":"WebdriverIOFrameworkAdapter.js","sourceRoot":"","sources":["../../src/adapter/WebdriverIOFrameworkAdapter.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAI/D,qDAAgD;AAEhD,yCAAwH;AACxH,oFAAiF;AACjF,yDAAsD;AAEtD,+DAA4D;AAC5D,uCAAwC;AAExC;;GAEG;AACH,MAAa,2BAA2B;IAKpC,YACqB,QAAkB,EAClB,MAAoB,EACpB,GAAS,EACT,GAAW,EAC5B,iBAAoC,EACnB,KAAe,EACf,YAA2C,EAC5D,QAAmE;QAPlD,aAAQ,GAAR,QAAQ,CAAU;QAClB,WAAM,GAAN,MAAM,CAAc;QACpB,QAAG,GAAH,GAAG,CAAM;QACT,QAAG,GAAH,GAAG,CAAQ;QAEX,UAAK,GAAL,KAAK,CAAU;QACf,iBAAY,GAAZ,YAAY,CAA+B;QAG5D,MAAM,MAAM,GAAG,SAAS,CAAoB,IAAI,CAAC,aAAa,EAAE,EAAE,iBAAiB,EAAE;YACjF,iBAAiB,EAAE,+BAAa;SACnC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG,IAAI,mCAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;aAC/D,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAE9B,yGAAyG;QACzG,0IAA0I;QAC1I,uIAAuI;QACtI,QAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YACpD,sCAA2B,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;SAC3D,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,QAAQ,GAAG,IAAI,yCAAmB,CACnC,QAAQ,EACR,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAC/B,GAAG,EACH,IAAI,CAAC,KAAK,CACb,CAAC;QAEF,MAAM,kBAAkB,GAAG,IAAI,6BAAkB,CAC7C,IAAI,IAAI,CAAC,GAAG,GAAG,CAClB,CAAC;QAEF,MAAM,yBAAyB,GAAG,IAAI,qDAAyB,CAC3D,kBAAkB,EAClB,QAAQ,CAAC,oBAAoB,CAAC,0BAA0B,CAAC,CAC5D,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YACpB,YAAY,EAAI,kBAAkB;YAClC,UAAU,EAAM,MAAM,CAAC,QAAQ,CAAC,UAAU;YAC1C,MAAM,EAAU,MAAM,CAAC,QAAQ,CAAC,MAAM;YACtC,IAAI,EAAE;gBACF,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI;gBACvB,IAAI,CAAC,QAAQ;gBACb,yBAAyB;aAC5B;SACJ,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,IAAI;QAEN,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEpC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,GAAG;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAChC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAC/B,CAAC;IACN,CAAC;IAEO,aAAa;QACjB,OAAO;YACH,QAAQ,EAAE;gBACN,IAAI,EAAE;oBACF,uBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,sBAAsB,CAAC;iBAC9E;aACJ;SACJ,CAAA;IACL,CAAC;CACJ;AAnFD,kEAmFC"}
1
+ {"version":3,"file":"WebdriverIOFrameworkAdapter.js","sourceRoot":"","sources":["../../src/adapter/WebdriverIOFrameworkAdapter.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAI/D,qDAAgD;AAEhD,yCAAwH;AACxH,oFAAiF;AACjF,yDAAsD;AAEtD,+DAA4D;AAC5D,uCAAwC;AAExC;;GAEG;AACH,MAAa,2BAA2B;IAKpC,YACqB,QAAkB,EAClB,MAAoB,EACpB,GAAS,EACT,GAAW,EAC5B,iBAAoC,EACnB,KAAe,EACf,YAA2C,EAC5D,QAAmE;QAPlD,aAAQ,GAAR,QAAQ,CAAU;QAClB,WAAM,GAAN,MAAM,CAAc;QACpB,QAAG,GAAH,GAAG,CAAM;QACT,QAAG,GAAH,GAAG,CAAQ;QAEX,UAAK,GAAL,KAAK,CAAU;QACf,iBAAY,GAAZ,YAAY,CAA+B;QAG5D,MAAM,MAAM,GAAG,SAAS,CAAoB,IAAI,CAAC,aAAa,EAAE,EAAE,iBAAiB,EAAE;YACjF,iBAAiB,EAAE,+BAAa;SACnC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG,IAAI,mCAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;aAC/D,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAE9B,yGAAyG;QACzG,0IAA0I;QAC1I,uIAAuI;QACtI,QAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YACpD,sCAA2B,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;SAC3D,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,QAAQ,GAAG,IAAI,yCAAmB,CACnC,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAC/B,GAAG,EACH,IAAI,CAAC,KAAK,CACb,CAAC;QAEF,MAAM,kBAAkB,GAAG,IAAI,6BAAkB,CAC7C,IAAI,IAAI,CAAC,GAAG,GAAG,CAClB,CAAC;QAEF,MAAM,yBAAyB,GAAG,IAAI,qDAAyB,CAC3D,kBAAkB,EAClB,QAAQ,CAAC,oBAAoB,CAAC,0BAA0B,CAAC,CAC5D,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YACpB,YAAY,EAAI,kBAAkB;YAClC,UAAU,EAAM,MAAM,CAAC,QAAQ,CAAC,UAAU;YAC1C,MAAM,EAAU,MAAM,CAAC,QAAQ,CAAC,MAAM;YACtC,IAAI,EAAE;gBACF,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI;gBACvB,IAAI,CAAC,QAAQ;gBACb,yBAAyB;aAC5B;SACJ,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,IAAI;QAEN,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEpC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,GAAG;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAChC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAC/B,CAAC;IACN,CAAC;IAEO,aAAa;QACjB,OAAO;YACH,QAAQ,EAAE;gBACN,IAAI,EAAE;oBACF,uBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,sBAAsB,CAAC;iBAC9E;aACJ;SACJ,CAAA;IACL,CAAC;CACJ;AArFD,kEAqFC"}
@@ -2,24 +2,37 @@
2
2
  import { Stage, StageCrewMember } from '@serenity-js/core';
3
3
  import { DomainEvent } from '@serenity-js/core/lib/events';
4
4
  import { Outcome } from '@serenity-js/core/lib/model';
5
+ import { RemoteCapability } from '@wdio/types/build/Capabilities';
5
6
  import type { EventEmitter } from 'events';
7
+ import { WebdriverIOConfig } from './WebdriverIOConfig';
6
8
  /**
7
9
  * @package
8
10
  */
9
11
  export declare class WebdriverIONotifier implements StageCrewMember {
12
+ private readonly config;
13
+ private readonly capabilities;
10
14
  private readonly reporter;
11
15
  private readonly successThreshold;
12
16
  private readonly cid;
13
17
  private readonly specs;
14
18
  private failures;
15
19
  private stage?;
20
+ /**
21
+ * We don't have access to the "context" object produced by Mocha,
22
+ * and can't assume that other test runners have a similar concept.
23
+ * Since, at the time of writing, none of the WebdriverIO rely on this parameter
24
+ * using a dummy seems to be sufficient.
25
+ * @private
26
+ */
27
+ private static dummmyContext;
16
28
  private readonly events;
17
29
  private readonly suites;
18
- constructor(reporter: EventEmitter, successThreshold: Outcome | {
30
+ constructor(config: WebdriverIOConfig, capabilities: RemoteCapability, reporter: EventEmitter, successThreshold: Outcome | {
19
31
  Code: number;
20
32
  }, cid: string, specs: string[], failures?: number, stage?: Stage);
21
33
  assignedTo(stage: Stage): StageCrewMember;
22
34
  notifyOf(event: DomainEvent): void;
35
+ private onTestRunFinishes;
23
36
  failureCount(): number;
24
37
  private onTestSuiteStarts;
25
38
  private onTestSuiteFinished;
@@ -29,9 +42,30 @@ export declare class WebdriverIONotifier implements StageCrewMember {
29
42
  private onSceneStarts;
30
43
  private onSceneFinished;
31
44
  private willBeRetried;
45
+ private testShortTitleFrom;
46
+ private testFrom;
32
47
  private testStartEventFrom;
33
48
  private parentSuiteName;
49
+ /**
50
+ * test status is 'passed' | 'pending' | 'skipped' | 'failed' | 'broken' | 'canceled'
51
+ * Since this is not documented, we're mimicking other WebdriverIO reporters, for example:
52
+ * https://github.com/webdriverio/webdriverio/blob/7415f3126e15a733b51721492e4995ceafae6046/packages/wdio-allure-reporter/src/constants.ts#L3-L9
53
+ *
54
+ * @param started
55
+ * @param finished
56
+ * @private
57
+ */
58
+ private testResultFrom;
34
59
  private testEndEventFrom;
60
+ private whenSuccessful;
35
61
  private testResultEventFrom;
36
62
  private errorFrom;
63
+ /**
64
+ * @see https://github.com/webdriverio/webdriverio/blob/main/packages/wdio-utils/src/shim.ts
65
+ * @param hookName
66
+ * @param hookFunctions
67
+ * @param args
68
+ * @private
69
+ */
70
+ private invokeHooks;
37
71
  }
@@ -9,7 +9,9 @@ const tiny_types_1 = require("tiny-types");
9
9
  * @package
10
10
  */
11
11
  class WebdriverIONotifier {
12
- constructor(reporter, successThreshold, cid, specs, failures = 0, stage) {
12
+ constructor(config, capabilities, reporter, successThreshold, cid, specs, failures = 0, stage) {
13
+ this.config = config;
14
+ this.capabilities = capabilities;
13
15
  this.reporter = reporter;
14
16
  this.successThreshold = successThreshold;
15
17
  this.cid = cid;
@@ -29,20 +31,28 @@ class WebdriverIONotifier {
29
31
  .when(events_1.TestSuiteFinished, WebdriverIONotifier.prototype.onTestSuiteFinished.bind(this))
30
32
  .when(events_1.SceneStarts, WebdriverIONotifier.prototype.onSceneStarts.bind(this))
31
33
  .when(events_1.SceneFinished, WebdriverIONotifier.prototype.onSceneFinished.bind(this))
34
+ .when(events_1.TestRunFinishes, WebdriverIONotifier.prototype.onTestRunFinishes.bind(this))
32
35
  .else(() => void 0);
33
36
  }
37
+ onTestRunFinishes() {
38
+ return this.invokeHooks('after', this.config.after, [this.failures, this.capabilities, this.specs]);
39
+ }
34
40
  failureCount() {
35
41
  return this.failures;
36
42
  }
37
43
  onTestSuiteStarts(started) {
38
44
  this.events.record(started.details.correlationId, started);
39
- this.reporter.emit('suite:start', this.suiteStartEventFrom(started));
45
+ const suite = this.suiteStartEventFrom(started);
46
+ this.reporter.emit('suite:start', suite);
40
47
  this.suites.push(started.details);
48
+ return this.invokeHooks('beforeSuite', this.config.beforeSuite, [suite]); // todo: correct types
41
49
  }
42
50
  onTestSuiteFinished(finished) {
43
51
  this.suites.pop();
44
52
  const started = this.events.getByCorrelationId(finished.details.correlationId);
45
- this.reporter.emit('suite:end', this.suiteEndEventFrom(started, finished));
53
+ const suite = this.suiteEndEventFrom(started, finished);
54
+ this.reporter.emit('suite:end', suite);
55
+ return this.invokeHooks('afterSuite', this.config.afterSuite, [suite]); // todo: correct types
46
56
  }
47
57
  suiteStartEventFrom(started) {
48
58
  return {
@@ -71,35 +81,54 @@ class WebdriverIONotifier {
71
81
  const test = this.testStartEventFrom(started);
72
82
  this.events.record(started.sceneId, started);
73
83
  this.reporter.emit(test.type, test);
84
+ return this.invokeHooks('beforeTest', this.config.beforeTest, [this.testFrom(started), WebdriverIONotifier.dummmyContext]);
74
85
  }
75
86
  onSceneFinished(finished) {
76
87
  if (finished.outcome.isWorseThan(this.successThreshold)) {
77
88
  this.failures++;
78
89
  }
79
90
  const started = this.events.getByCorrelationId(finished.sceneId);
91
+ let testEnd;
80
92
  if (this.willBeRetried(finished.outcome)) {
81
- const testResult = this.testEndEventFrom(started, finished);
93
+ testEnd = this.testEndEventFrom(started, finished);
82
94
  const type = 'test:retry';
83
95
  this.reporter.emit(type, {
84
- ...testResult,
96
+ ...testEnd,
85
97
  type,
86
98
  error: this.errorFrom(finished.outcome),
87
99
  });
88
100
  }
89
101
  else {
90
- const testResult = this.testResultEventFrom(started, finished);
91
- this.reporter.emit(testResult.type, testResult);
92
- const testEnd = this.testEndEventFrom(started, finished);
102
+ const testResultEvent = this.testResultEventFrom(started, finished);
103
+ this.reporter.emit(testResultEvent.type, testResultEvent);
104
+ testEnd = this.testEndEventFrom(started, finished);
93
105
  this.reporter.emit(testEnd.type, testEnd);
94
106
  }
107
+ return this.invokeHooks('afterTest', this.config.afterTest, [this.testFrom(started), WebdriverIONotifier.dummmyContext, this.testResultFrom(started, finished)]);
95
108
  }
96
109
  willBeRetried(outcome) {
97
110
  return outcome instanceof model_1.ExecutionIgnored;
98
111
  }
99
- testStartEventFrom(started) {
100
- const title = started.details.name.value
112
+ testShortTitleFrom(started) {
113
+ return started.details.name.value
101
114
  .replace(new RegExp(`^.*?(${this.parentSuiteName()})`), '')
102
115
  .trim();
116
+ }
117
+ testFrom(started) {
118
+ const title = this.testShortTitleFrom(started);
119
+ return {
120
+ ctx: WebdriverIONotifier.dummmyContext,
121
+ file: started.details.location.path.value,
122
+ fullName: this.suiteNamesConcatenatedWith(title),
123
+ fullTitle: this.suiteNamesConcatenatedWith(title),
124
+ parent: this.parentSuiteName(),
125
+ pending: false,
126
+ title,
127
+ type: 'test' // I _think_ it's either 'test' or 'hook' - https://github.com/mochajs/mocha/blob/0ea732c1169c678ef116c3eb452cc94758fff150/lib/test.js#L31
128
+ };
129
+ }
130
+ testStartEventFrom(started) {
131
+ const title = this.testShortTitleFrom(started);
103
132
  return {
104
133
  type: 'test:start',
105
134
  title,
@@ -116,6 +145,90 @@ class WebdriverIONotifier {
116
145
  var _a;
117
146
  return ((_a = this.suites[this.suites.length - 1]) === null || _a === void 0 ? void 0 : _a.name.value) || '';
118
147
  }
148
+ /**
149
+ * test status is 'passed' | 'pending' | 'skipped' | 'failed' | 'broken' | 'canceled'
150
+ * Since this is not documented, we're mimicking other WebdriverIO reporters, for example:
151
+ * https://github.com/webdriverio/webdriverio/blob/7415f3126e15a733b51721492e4995ceafae6046/packages/wdio-allure-reporter/src/constants.ts#L3-L9
152
+ *
153
+ * @param started
154
+ * @param finished
155
+ * @private
156
+ */
157
+ testResultFrom(started, finished) {
158
+ const duration = finished.timestamp.diff(started.timestamp).inMilliseconds();
159
+ const defaultRetries = { attempts: 0, limit: 0 };
160
+ const passedOrFailed = (outcome) => this.whenSuccessful(outcome, true, false);
161
+ return (0, tiny_types_1.match)(finished.outcome)
162
+ .when(model_1.ExecutionCompromised, (outcome) => {
163
+ const error = this.errorFrom(outcome);
164
+ return {
165
+ duration,
166
+ error,
167
+ exception: error.message,
168
+ passed: passedOrFailed(outcome),
169
+ status: 'broken',
170
+ retries: defaultRetries
171
+ };
172
+ })
173
+ .when(model_1.ExecutionFailedWithError, (outcome) => {
174
+ const error = this.errorFrom(outcome);
175
+ return {
176
+ duration,
177
+ error,
178
+ exception: error.message,
179
+ passed: passedOrFailed(outcome),
180
+ status: 'broken',
181
+ retries: defaultRetries
182
+ };
183
+ })
184
+ .when(model_1.ExecutionFailedWithAssertionError, (outcome) => {
185
+ const error = this.errorFrom(outcome);
186
+ return {
187
+ duration,
188
+ error,
189
+ exception: error.message,
190
+ passed: passedOrFailed(outcome),
191
+ status: 'failed',
192
+ retries: defaultRetries
193
+ };
194
+ })
195
+ .when(model_1.ImplementationPending, (outcome) => {
196
+ const error = this.errorFrom(outcome);
197
+ return {
198
+ duration,
199
+ error,
200
+ exception: error.message,
201
+ passed: passedOrFailed(outcome),
202
+ status: 'pending',
203
+ retries: defaultRetries
204
+ };
205
+ })
206
+ .when(model_1.ExecutionIgnored, (outcome) => {
207
+ const error = this.errorFrom(outcome);
208
+ return {
209
+ duration,
210
+ error,
211
+ exception: error.message,
212
+ passed: passedOrFailed(outcome),
213
+ status: 'canceled',
214
+ retries: defaultRetries // consider capturing info about retries from Mocha and putting it on the ExecutionIgnored event so we can pass it on
215
+ };
216
+ })
217
+ .when(model_1.ExecutionSkipped, (outcome) => ({
218
+ duration,
219
+ exception: '',
220
+ passed: passedOrFailed(outcome),
221
+ status: 'skipped',
222
+ retries: defaultRetries
223
+ }))
224
+ .else(() => ({
225
+ duration,
226
+ exception: '',
227
+ passed: true,
228
+ status: 'passed',
229
+ retries: defaultRetries
230
+ }));
231
+ }
119
232
  testEndEventFrom(started, finished) {
120
233
  const duration = finished.timestamp.diff(started.timestamp).inMilliseconds();
121
234
  return {
@@ -124,11 +237,14 @@ class WebdriverIONotifier {
124
237
  duration
125
238
  };
126
239
  }
240
+ whenSuccessful(outcome, resultWhenSuccessful, resultWhenNotSuccessful) {
241
+ return !outcome.isWorseThan(this.successThreshold) && (outcome instanceof model_1.ProblemIndication)
242
+ ? resultWhenSuccessful
243
+ : resultWhenNotSuccessful;
244
+ }
127
245
  testResultEventFrom(started, finished) {
128
246
  const test = this.testEndEventFrom(started, finished);
129
- const unlessSuccessful = (outcome, type) => !outcome.isWorseThan(this.successThreshold) && (outcome instanceof model_1.ProblemIndication)
130
- ? 'test:pass'
131
- : type;
247
+ const unlessSuccessful = (outcome, type) => this.whenSuccessful(outcome, 'test:pass', type);
132
248
  return (0, tiny_types_1.match)(finished.outcome)
133
249
  .when(model_1.ExecutionCompromised, (outcome) => ({
134
250
  ...test,
@@ -185,8 +301,53 @@ class WebdriverIONotifier {
185
301
  actual: error.actual
186
302
  };
187
303
  }
304
+ /**
305
+ * @see https://github.com/webdriverio/webdriverio/blob/main/packages/wdio-utils/src/shim.ts
306
+ * @param hookName
307
+ * @param hookFunctions
308
+ * @param args
309
+ * @private
310
+ */
311
+ invokeHooks(hookName, hookFunctions, args) {
312
+ const hooks = !Array.isArray(hookFunctions)
313
+ ? [hookFunctions]
314
+ : hookFunctions;
315
+ const asyncOperationId = model_1.CorrelationId.create();
316
+ this.stage.announce(new events_1.AsyncOperationAttempted(new model_1.Description(`[WebdriverIONotifier#invokeHooks] Invoking ${hookName} hook`), asyncOperationId));
317
+ return Promise.all(hooks.map((hook) => new Promise((resolve) => {
318
+ let result;
319
+ try {
320
+ result = hook(...args);
321
+ }
322
+ catch (error) {
323
+ return resolve(error);
324
+ }
325
+ /**
326
+ * if a promise is returned make sure we don't have a catch handler
327
+ * so in case of a rejection it won't cause the hook to fail
328
+ */
329
+ if (result && typeof result.then === 'function') {
330
+ return result.then(resolve, (error) => {
331
+ resolve(error);
332
+ });
333
+ }
334
+ resolve(result);
335
+ }))).
336
+ then(results => {
337
+ this.stage.announce(new events_1.AsyncOperationCompleted(new model_1.Description(`[WebdriverIONotifier#invokeHooks] Invoking ${hookName} hook completed`), asyncOperationId));
338
+ return results;
339
+ });
340
+ }
188
341
  }
189
342
  exports.WebdriverIONotifier = WebdriverIONotifier;
343
+ /**
344
+ * We don't have access to the "context" object produced by Mocha,
345
+ * and can't assume that other test runners have a similar concept.
346
+ * Since, at the time of writing, none of the WebdriverIO rely on this parameter
347
+ * using a dummy seems to be sufficient.
348
+ * @private
349
+ */
350
+ WebdriverIONotifier.dummmyContext = {};
190
351
  class EventLog {
191
352
  constructor() {
192
353
  this.events = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"WebdriverIONotifier.js","sourceRoot":"","sources":["../../src/adapter/WebdriverIONotifier.ts"],"names":[],"mappings":";;;AAAA,4CAAuE;AACvE,yDAA2H;AAC3H,uDAWqC;AAIrC,2CAAmC;AAEnC;;GAEG;AACH,MAAa,mBAAmB;IAK5B,YACqB,QAAsB,EACtB,gBAA4C,EAC5C,GAAW,EACX,KAAe,EACxB,WAAmB,CAAC,EACpB,KAAa;QALJ,aAAQ,GAAR,QAAQ,CAAc;QACtB,qBAAgB,GAAhB,gBAAgB,CAA4B;QAC5C,QAAG,GAAH,GAAG,CAAQ;QACX,UAAK,GAAL,KAAK,CAAU;QACxB,aAAQ,GAAR,QAAQ,CAAY;QACpB,UAAK,GAAL,KAAK,CAAQ;QATR,WAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QACxB,WAAM,GAAuB,EAAE,CAAC;IAUjD,CAAC;IAED,UAAU,CAAC,KAAY;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,QAAQ,CAAC,KAAkB;QACvB,OAAO,IAAA,kBAAK,EAAoB,KAAK,CAAC;aACjC,IAAI,CAAC,wBAAe,EAAW,mBAAmB,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1F,IAAI,CAAC,0BAAiB,EAAS,mBAAmB,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC5F,IAAI,CAAC,oBAAW,EAAe,mBAAmB,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACtF,IAAI,CAAC,sBAAa,EAAa,mBAAmB,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxF,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED,YAAY;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAEO,iBAAiB,CAAC,OAAwB;QAC9C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;QAErE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAEO,mBAAmB,CAAC,QAA2B;QACnD,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAElB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAkB,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAChG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC/E,CAAC;IAEO,mBAAmB,CAAC,OAAwB;QAChD,OAAO;YACH,IAAI,EAAQ,aAAa;YACzB,GAAG,EAAS,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK;YAC/C,GAAG,EAAS,IAAI,CAAC,GAAG;YACpB,KAAK,EAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK;YACtC,SAAS,EAAG,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;YACvE,MAAM,EAAM,IAAI,CAAC,eAAe,EAAE;YAClC,IAAI,EAAQ,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;YAC/C,KAAK,EAAO,IAAI,CAAC,KAAK;YACtB,OAAO,EAAK,KAAK;SACpB,CAAA;IACL,CAAC;IAEO,0BAA0B,CAAC,IAAY;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7E,CAAC;IAEO,iBAAiB,CAAC,OAAwB,EAAE,QAA2B;QAC3E,OAAO;YACH,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;YACpC,IAAI,EAAQ,WAAW;YACvB,QAAQ,EAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE;SAC1E,CAAA;IACL,CAAC;IAEO,aAAa,CAAC,OAAoB;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAE9C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAE7C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAEO,eAAe,CAAC,QAAuB;QAE3C,IAAI,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;YACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;SACnB;QAED,MAAM,OAAO,GAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAc,QAAQ,CAAC,OAAO,CAAC,CAAC;QAElF,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YACtC,MAAM,UAAU,GAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAE7D,MAAM,IAAI,GAAG,YAAY,CAAC;YAE1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE;gBACrB,GAAG,UAAU;gBACb,IAAI;gBACJ,KAAK,EAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;aAC3C,CAAC,CAAC;SAEN;aAAM;YAEH,MAAM,UAAU,GAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAChE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAEhD,MAAM,OAAO,GAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC7D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SAC7C;IACL,CAAC;IAEO,aAAa,CAAC,OAAgB;QAClC,OAAO,OAAO,YAAY,wBAAgB,CAAC;IAC/C,CAAC;IAEO,kBAAkB,CAAC,OAAoB;QAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK;aACnC,OAAO,CAAC,IAAI,MAAM,CAAC,QAAS,IAAI,CAAC,eAAe,EAAG,GAAG,CAAC,EAAE,EAAE,CAAC;aAC5D,IAAI,EAAE,CAAC;QAEZ,OAAO;YACH,IAAI,EAAQ,YAAY;YACxB,KAAK;YACL,SAAS,EAAG,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC;YAClD,MAAM,EAAM,IAAI,CAAC,eAAe,EAAE;YAClC,IAAI,EAAQ,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;YAC/C,OAAO,EAAK,KAAK;YACjB,GAAG,EAAS,IAAI,CAAC,GAAG;YACpB,GAAG,EAAS,OAAO,CAAC,OAAO,CAAC,KAAK;YACjC,KAAK,EAAO,IAAI,CAAC,KAAK;SACzB,CAAA;IACL,CAAC;IAEO,eAAe;;QACnB,OAAO,CAAA,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,0CAAE,IAAI,CAAC,KAAK,KAAI,EAAE,CAAC;IACjE,CAAC;IAEO,gBAAgB,CAAC,OAAoB,EAAE,QAAuB;QAClE,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,CAAC;QAC7E,OAAO;YACH,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;YACnC,IAAI,EAAE,UAAU;YAChB,QAAQ;SACX,CAAC;IACN,CAAC;IAEO,mBAAmB,CAAC,OAAoB,EAAE,QAAuB;QACrE,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAErD,MAAM,gBAAgB,GAAG,CAAC,OAAgB,EAAE,IAAkB,EAAE,EAAE,CAC9D,CAAE,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,YAAY,yBAAiB,CAAC;YAClF,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,IAAI,CAAC;QAEf,OAAO,IAAA,kBAAK,EAAgB,QAAQ,CAAC,OAAO,CAAC;aACxC,IAAI,CAAC,4BAAoB,EAAE,CAAC,OAA6B,EAAE,EAAE,CAAC,CAAC;YAC5D,GAAG,IAAI;YACP,IAAI,EAAI,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC;YAC9C,KAAK,EAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAClC,CAAC,CAAC;aACF,IAAI,CAAC,gCAAwB,EAAE,CAAC,OAAiC,EAAE,EAAE,CAAC,CAAC;YACpE,GAAG,IAAI;YACP,IAAI,EAAI,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC;YAC9C,KAAK,EAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAClC,CAAC,CAAC;aACF,IAAI,CAAC,yCAAiC,EAAE,CAAC,OAA0C,EAAE,EAAE,CAAC,CAAC;YACtF,GAAG,IAAI;YACP,IAAI,EAAI,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC;YAC9C,KAAK,EAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAClC,CAAC,CAAC;aACF,IAAI,CAAC,6BAAqB,EAAE,CAAC,OAA8B,EAAE,EAAE,CAAC,CAAC;YAC9D,GAAG,IAAI;YACP,IAAI,EAAY,gBAAgB,CAAC,OAAO,EAAE,cAAc,CAAC;YACzD,KAAK,EAAW,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YACvC,OAAO,EAAS,IAAI;YACpB,aAAa,EAAG,OAAO,CAAC,KAAK,CAAC,OAAO;SACxC,CAAC,CAAC;aACF,IAAI,CAAC,wBAAgB,EAAE,CAAC,OAAyB,EAAE,EAAE,CAAC,CAAC;YACpD,GAAG,IAAI;YACP,gDAAgD;YAChD,oIAAoI;YACpI,IAAI,EAAY,gBAAgB,CAAC,OAAO,EAAE,cAAc,CAAC;YACzD,KAAK,EAAW,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YACvC,OAAO,EAAS,IAAI;YACpB,aAAa,EAAG,OAAO,CAAC,KAAK,CAAC,OAAO;SACxC,CAAC,CAAC;aACF,IAAI,CAAC,wBAAgB,EAAE,CAAC,OAAyB,EAAE,EAAE,CAAC,CAAC;YACpD,GAAG,IAAI;YACP,gDAAgD;YAChD,oIAAoI;YACpI,IAAI,EAAY,gBAAgB,CAAC,OAAO,EAAE,cAAc,CAAC;YACzD,OAAO,EAAS,IAAI;SACvB,CAAC,CAAC;aACF,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACT,GAAG,IAAI;YACP,IAAI,EAAE,WAAW;SACpB,CAAC,CAAC,CAAC;IACZ,CAAC;IAEO,SAAS,CAAC,OAA0B;QACxC,MAAM,KAAK,GAAkE,OAAO,CAAC,KAAK,CAAC;QAE3F,2IAA2I;QAC3I,OAAO;YACH,IAAI,EAAQ,KAAK,CAAC,IAAI;YACtB,OAAO,EAAK,KAAK,CAAC,OAAO;YACzB,KAAK,EAAO,KAAK,CAAC,KAAK;YACvB,IAAI,EAAQ,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI;YACpC,QAAQ,EAAI,KAAK,CAAC,QAAQ;YAC1B,MAAM,EAAM,KAAK,CAAC,MAAM;SAC3B,CAAA;IACL,CAAC;CACJ;AAnND,kDAmNC;AAED,MAAM,QAAQ;IAAd;QACqB,WAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;IAa7D,CAAC;IAXG,MAAM,CAAC,aAA4B,EAAE,KAAkB;QACnD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC/C,CAAC;IAED,kBAAkB,CAAwB,aAA4B;QAClE,IAAI,CAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;YACxC,MAAM,IAAI,iBAAU,CAAC,6BAA8B,aAAc,0BAA0B,CAAC,CAAC;SAChG;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAM,CAAC;IACrD,CAAC;CACJ"}
1
+ {"version":3,"file":"WebdriverIONotifier.js","sourceRoot":"","sources":["../../src/adapter/WebdriverIONotifier.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -2,7 +2,4 @@ import { WebdriverIOFrameworkAdapterFactory } from './adapter';
2
2
  declare const adapterFactory: WebdriverIOFrameworkAdapterFactory;
3
3
  export default adapterFactory;
4
4
  export { WebdriverIOConfig } from './adapter';
5
- export * from './expectations';
6
- export * from './input';
7
5
  export * from './screenplay';
8
- export * from './stage';
package/lib/index.js CHANGED
@@ -15,8 +15,5 @@ const io_1 = require("@serenity-js/core/lib/io");
15
15
  const adapter_1 = require("./adapter");
16
16
  const adapterFactory = new adapter_1.WebdriverIOFrameworkAdapterFactory(core_1.serenity, new io_1.ModuleLoader(process.cwd()), io_1.Path.from(process.cwd()));
17
17
  exports.default = adapterFactory;
18
- __exportStar(require("./expectations"), exports);
19
- __exportStar(require("./input"), exports);
20
18
  __exportStar(require("./screenplay"), exports);
21
- __exportStar(require("./stage"), exports);
22
19
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA6C;AAC7C,iDAA8D;AAE9D,uCAA+D;AAE/D,MAAM,cAAc,GAAG,IAAI,4CAAkC,CACzD,eAAQ,EACR,IAAI,iBAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAC/B,SAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAC3B,CAAC;AAEF,kBAAe,cAAc,CAAC;AAG9B,iDAA+B;AAC/B,0CAAwB;AACxB,+CAA6B;AAC7B,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA6C;AAC7C,iDAA8D;AAE9D,uCAA+D;AAE/D,MAAM,cAAc,GAAG,IAAI,4CAAkC,CACzD,eAAQ,EACR,IAAI,iBAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAC/B,SAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAC3B,CAAC;AAEF,kBAAe,cAAc,CAAC;AAG9B,+CAA6B"}