@serenity-js/webdriverio 2.32.5 → 3.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +46 -0
- package/lib/adapter/WebdriverIOFrameworkAdapter.js +1 -1
- package/lib/adapter/WebdriverIOFrameworkAdapter.js.map +1 -1
- package/lib/adapter/WebdriverIONotifier.d.ts +35 -1
- package/lib/adapter/WebdriverIONotifier.js +174 -13
- package/lib/adapter/WebdriverIONotifier.js.map +1 -1
- package/lib/index.d.ts +0 -3
- package/lib/index.js +0 -3
- package/lib/index.js.map +1 -1
- package/lib/screenplay/abilities/{BrowseTheWeb.d.ts → BrowseTheWebWithWebdriverIO.d.ts} +79 -23
- package/lib/screenplay/abilities/{BrowseTheWeb.js → BrowseTheWebWithWebdriverIO.js} +160 -25
- package/lib/screenplay/abilities/BrowseTheWebWithWebdriverIO.js.map +1 -0
- package/lib/screenplay/abilities/index.d.ts +1 -1
- package/lib/screenplay/abilities/index.js +1 -1
- package/lib/screenplay/abilities/index.js.map +1 -1
- package/lib/screenplay/index.d.ts +1 -2
- package/lib/screenplay/index.js +1 -2
- package/lib/screenplay/index.js.map +1 -1
- package/lib/screenplay/models/WebdriverIOCookie.d.ts +8 -0
- package/lib/screenplay/models/WebdriverIOCookie.js +39 -0
- package/lib/screenplay/models/WebdriverIOCookie.js.map +1 -0
- package/lib/screenplay/models/WebdriverIOModalDialog.d.ts +11 -0
- package/lib/screenplay/models/WebdriverIOModalDialog.js +40 -0
- package/lib/screenplay/models/WebdriverIOModalDialog.js.map +1 -0
- package/lib/screenplay/models/WebdriverIONativeElementRoot.d.ts +2 -0
- package/lib/screenplay/{interactions/EnterBuilder.js → models/WebdriverIONativeElementRoot.js} +1 -1
- package/lib/screenplay/models/WebdriverIONativeElementRoot.js.map +1 -0
- package/lib/screenplay/models/WebdriverIOPage.d.ts +24 -0
- package/lib/screenplay/models/WebdriverIOPage.js +98 -0
- package/lib/screenplay/models/WebdriverIOPage.js.map +1 -0
- package/lib/screenplay/models/WebdriverIOPageElement.d.ts +22 -0
- package/lib/screenplay/models/WebdriverIOPageElement.js +75 -0
- package/lib/screenplay/models/WebdriverIOPageElement.js.map +1 -0
- package/lib/screenplay/models/WebdriverIOPageElements.d.ts +15 -0
- package/lib/screenplay/models/WebdriverIOPageElements.js +65 -0
- package/lib/screenplay/models/WebdriverIOPageElements.js.map +1 -0
- package/lib/screenplay/models/index.d.ts +6 -0
- package/lib/{input → screenplay/models}/index.js +6 -1
- package/lib/screenplay/models/index.js.map +1 -0
- package/package.json +11 -21
- package/src/adapter/WebdriverIOFrameworkAdapter.ts +2 -0
- package/src/adapter/WebdriverIONotifier.ts +225 -23
- package/src/index.ts +0 -3
- package/src/screenplay/abilities/{BrowseTheWeb.ts → BrowseTheWebWithWebdriverIO.ts} +200 -31
- package/src/screenplay/abilities/index.ts +1 -1
- package/src/screenplay/index.ts +1 -2
- package/src/screenplay/models/WebdriverIOCookie.ts +44 -0
- package/src/screenplay/models/WebdriverIOModalDialog.ts +45 -0
- package/src/screenplay/models/WebdriverIONativeElementRoot.ts +3 -0
- package/src/screenplay/models/WebdriverIOPage.ts +120 -0
- package/src/screenplay/models/WebdriverIOPageElement.ts +92 -0
- package/src/screenplay/models/WebdriverIOPageElements.ts +91 -0
- package/src/screenplay/models/index.ts +6 -0
- package/lib/expectations/ElementExpectation.d.ts +0 -11
- package/lib/expectations/ElementExpectation.js +0 -27
- package/lib/expectations/ElementExpectation.js.map +0 -1
- package/lib/expectations/index.d.ts +0 -6
- package/lib/expectations/index.js +0 -19
- package/lib/expectations/index.js.map +0 -1
- package/lib/expectations/isActive.d.ts +0 -15
- package/lib/expectations/isActive.js +0 -21
- package/lib/expectations/isActive.js.map +0 -1
- package/lib/expectations/isClickable.d.ts +0 -20
- package/lib/expectations/isClickable.js +0 -26
- package/lib/expectations/isClickable.js.map +0 -1
- package/lib/expectations/isEnabled.d.ts +0 -14
- package/lib/expectations/isEnabled.js +0 -20
- package/lib/expectations/isEnabled.js.map +0 -1
- package/lib/expectations/isPresent.d.ts +0 -15
- package/lib/expectations/isPresent.js +0 -21
- package/lib/expectations/isPresent.js.map +0 -1
- package/lib/expectations/isSelected.d.ts +0 -14
- package/lib/expectations/isSelected.js +0 -20
- package/lib/expectations/isSelected.js.map +0 -1
- package/lib/expectations/isVisible.d.ts +0 -14
- package/lib/expectations/isVisible.js +0 -20
- package/lib/expectations/isVisible.js.map +0 -1
- package/lib/input/Key.d.ts +0 -73
- package/lib/input/Key.js +0 -84
- package/lib/input/Key.js.map +0 -1
- package/lib/input/index.d.ts +0 -1
- package/lib/input/index.js.map +0 -1
- package/lib/screenplay/abilities/BrowseTheWeb.js.map +0 -1
- package/lib/screenplay/interactions/Clear.d.ts +0 -79
- package/lib/screenplay/interactions/Clear.js +0 -97
- package/lib/screenplay/interactions/Clear.js.map +0 -1
- package/lib/screenplay/interactions/Click.d.ts +0 -73
- package/lib/screenplay/interactions/Click.js +0 -84
- package/lib/screenplay/interactions/Click.js.map +0 -1
- package/lib/screenplay/interactions/DoubleClick.d.ts +0 -90
- package/lib/screenplay/interactions/DoubleClick.js +0 -101
- package/lib/screenplay/interactions/DoubleClick.js.map +0 -1
- package/lib/screenplay/interactions/Enter.d.ts +0 -73
- package/lib/screenplay/interactions/Enter.js +0 -87
- package/lib/screenplay/interactions/Enter.js.map +0 -1
- package/lib/screenplay/interactions/EnterBuilder.d.ts +0 -25
- package/lib/screenplay/interactions/EnterBuilder.js.map +0 -1
- package/lib/screenplay/interactions/ExecuteScript.d.ts +0 -206
- package/lib/screenplay/interactions/ExecuteScript.js +0 -311
- package/lib/screenplay/interactions/ExecuteScript.js.map +0 -1
- package/lib/screenplay/interactions/Hover.d.ts +0 -78
- package/lib/screenplay/interactions/Hover.js +0 -89
- package/lib/screenplay/interactions/Hover.js.map +0 -1
- package/lib/screenplay/interactions/Navigate.d.ts +0 -141
- package/lib/screenplay/interactions/Navigate.js +0 -197
- package/lib/screenplay/interactions/Navigate.js.map +0 -1
- package/lib/screenplay/interactions/Press.d.ts +0 -84
- package/lib/screenplay/interactions/Press.js +0 -152
- package/lib/screenplay/interactions/Press.js.map +0 -1
- package/lib/screenplay/interactions/PressBuilder.d.ts +0 -26
- package/lib/screenplay/interactions/PressBuilder.js +0 -3
- package/lib/screenplay/interactions/PressBuilder.js.map +0 -1
- package/lib/screenplay/interactions/RightClick.d.ts +0 -89
- package/lib/screenplay/interactions/RightClick.js +0 -100
- package/lib/screenplay/interactions/RightClick.js.map +0 -1
- package/lib/screenplay/interactions/Scroll.d.ts +0 -75
- package/lib/screenplay/interactions/Scroll.js +0 -86
- package/lib/screenplay/interactions/Scroll.js.map +0 -1
- package/lib/screenplay/interactions/Wait.d.ts +0 -143
- package/lib/screenplay/interactions/Wait.js +0 -247
- package/lib/screenplay/interactions/Wait.js.map +0 -1
- package/lib/screenplay/interactions/WaitBuilder.d.ts +0 -32
- package/lib/screenplay/interactions/WaitBuilder.js +0 -3
- package/lib/screenplay/interactions/WaitBuilder.js.map +0 -1
- package/lib/screenplay/interactions/WebElementInteraction.d.ts +0 -37
- package/lib/screenplay/interactions/WebElementInteraction.js +0 -52
- package/lib/screenplay/interactions/WebElementInteraction.js.map +0 -1
- package/lib/screenplay/interactions/index.d.ts +0 -13
- package/lib/screenplay/interactions/index.js +0 -26
- package/lib/screenplay/interactions/index.js.map +0 -1
- package/lib/screenplay/questions/Attribute.d.ts +0 -82
- package/lib/screenplay/questions/Attribute.js +0 -102
- package/lib/screenplay/questions/Attribute.js.map +0 -1
- package/lib/screenplay/questions/CSSClasses.d.ts +0 -92
- package/lib/screenplay/questions/CSSClasses.js +0 -112
- package/lib/screenplay/questions/CSSClasses.js.map +0 -1
- package/lib/screenplay/questions/LastScriptExecution.d.ts +0 -14
- package/lib/screenplay/questions/LastScriptExecution.js +0 -22
- package/lib/screenplay/questions/LastScriptExecution.js.map +0 -1
- package/lib/screenplay/questions/NestedTargetBuilder.d.ts +0 -27
- package/lib/screenplay/questions/NestedTargetBuilder.js +0 -3
- package/lib/screenplay/questions/NestedTargetBuilder.js.map +0 -1
- package/lib/screenplay/questions/TargetBuilder.d.ts +0 -25
- package/lib/screenplay/questions/TargetBuilder.js +0 -3
- package/lib/screenplay/questions/TargetBuilder.js.map +0 -1
- package/lib/screenplay/questions/Text.d.ts +0 -95
- package/lib/screenplay/questions/Text.js +0 -130
- package/lib/screenplay/questions/Text.js.map +0 -1
- package/lib/screenplay/questions/Value.d.ts +0 -63
- package/lib/screenplay/questions/Value.js +0 -78
- package/lib/screenplay/questions/Value.js.map +0 -1
- package/lib/screenplay/questions/Website.d.ts +0 -21
- package/lib/screenplay/questions/Website.js +0 -31
- package/lib/screenplay/questions/Website.js.map +0 -1
- package/lib/screenplay/questions/index.d.ts +0 -10
- package/lib/screenplay/questions/index.js +0 -23
- package/lib/screenplay/questions/index.js.map +0 -1
- package/lib/screenplay/questions/lists.d.ts +0 -86
- package/lib/screenplay/questions/lists.js +0 -137
- package/lib/screenplay/questions/lists.js.map +0 -1
- package/lib/screenplay/questions/locators.d.ts +0 -196
- package/lib/screenplay/questions/locators.js +0 -219
- package/lib/screenplay/questions/locators.js.map +0 -1
- package/lib/screenplay/questions/targets.d.ts +0 -254
- package/lib/screenplay/questions/targets.js +0 -334
- package/lib/screenplay/questions/targets.js.map +0 -1
- package/lib/stage/crew/index.d.ts +0 -1
- package/lib/stage/crew/index.js +0 -14
- package/lib/stage/crew/index.js.map +0 -1
- package/lib/stage/crew/photographer/Photographer.d.ts +0 -83
- package/lib/stage/crew/photographer/Photographer.js +0 -102
- package/lib/stage/crew/photographer/Photographer.js.map +0 -1
- package/lib/stage/crew/photographer/index.d.ts +0 -2
- package/lib/stage/crew/photographer/index.js +0 -15
- package/lib/stage/crew/photographer/index.js.map +0 -1
- package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.d.ts +0 -28
- package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.js +0 -65
- package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.js.map +0 -1
- package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.d.ts +0 -18
- package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.js +0 -30
- package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.js.map +0 -1
- package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.d.ts +0 -17
- package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.js +0 -28
- package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.js.map +0 -1
- package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.d.ts +0 -19
- package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.js +0 -28
- package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.js.map +0 -1
- package/lib/stage/crew/photographer/strategies/index.d.ts +0 -4
- package/lib/stage/crew/photographer/strategies/index.js +0 -17
- package/lib/stage/crew/photographer/strategies/index.js.map +0 -1
- package/lib/stage/index.d.ts +0 -1
- package/lib/stage/index.js +0 -14
- package/lib/stage/index.js.map +0 -1
- package/src/expectations/ElementExpectation.ts +0 -31
- package/src/expectations/index.ts +0 -6
- package/src/expectations/isActive.ts +0 -21
- package/src/expectations/isClickable.ts +0 -26
- package/src/expectations/isEnabled.ts +0 -19
- package/src/expectations/isPresent.ts +0 -20
- package/src/expectations/isSelected.ts +0 -19
- package/src/expectations/isVisible.ts +0 -19
- package/src/input/Key.ts +0 -83
- package/src/input/index.ts +0 -1
- package/src/screenplay/interactions/Clear.ts +0 -102
- package/src/screenplay/interactions/Click.ts +0 -85
- package/src/screenplay/interactions/DoubleClick.ts +0 -102
- package/src/screenplay/interactions/Enter.ts +0 -93
- package/src/screenplay/interactions/EnterBuilder.ts +0 -27
- package/src/screenplay/interactions/ExecuteScript.ts +0 -344
- package/src/screenplay/interactions/Hover.ts +0 -90
- package/src/screenplay/interactions/Navigate.ts +0 -208
- package/src/screenplay/interactions/Press.ts +0 -172
- package/src/screenplay/interactions/PressBuilder.ts +0 -28
- package/src/screenplay/interactions/RightClick.ts +0 -100
- package/src/screenplay/interactions/Scroll.ts +0 -87
- package/src/screenplay/interactions/Wait.ts +0 -267
- package/src/screenplay/interactions/WaitBuilder.ts +0 -34
- package/src/screenplay/interactions/WebElementInteraction.ts +0 -56
- package/src/screenplay/interactions/index.ts +0 -13
- package/src/screenplay/questions/Attribute.ts +0 -112
- package/src/screenplay/questions/CSSClasses.ts +0 -116
- package/src/screenplay/questions/LastScriptExecution.ts +0 -21
- package/src/screenplay/questions/NestedTargetBuilder.ts +0 -30
- package/src/screenplay/questions/TargetBuilder.ts +0 -27
- package/src/screenplay/questions/Text.ts +0 -140
- package/src/screenplay/questions/Value.ts +0 -82
- package/src/screenplay/questions/Website.ts +0 -34
- package/src/screenplay/questions/index.ts +0 -10
- package/src/screenplay/questions/lists.ts +0 -161
- package/src/screenplay/questions/locators.ts +0 -254
- package/src/screenplay/questions/targets.ts +0 -401
- package/src/stage/crew/index.ts +0 -1
- package/src/stage/crew/photographer/Photographer.ts +0 -108
- package/src/stage/crew/photographer/index.ts +0 -2
- package/src/stage/crew/photographer/strategies/PhotoTakingStrategy.ts +0 -103
- package/src/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.ts +0 -28
- package/src/stage/crew/photographer/strategies/TakePhotosOfFailures.ts +0 -26
- package/src/stage/crew/photographer/strategies/TakePhotosOfInteractions.ts +0 -26
- package/src/stage/crew/photographer/strategies/index.ts +0 -4
- package/src/stage/index.ts +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,52 @@
|
|
|
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.0](https://github.com/serenity-js/serenity-js/compare/v2.32.5...v3.0.0-rc.0) (2021-12-08)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **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)
|
|
12
|
+
* **deps:** updated WebdriverIO ([9de63d4](https://github.com/serenity-js/serenity-js/commit/9de63d460d9735abfc5bb066671f6f28c3274597))
|
|
13
|
+
* **deps:** web ([b075b8e](https://github.com/serenity-js/serenity-js/commit/b075b8ecd8e00014469dda15a90175d60ed80c91))
|
|
14
|
+
* **web:** corrected timestamp rounding when retrieving the expiry date of a cookie ([d636965](https://github.com/serenity-js/serenity-js/commit/d63696586618cd701e703e33dd8b476efaac65b6))
|
|
15
|
+
* **webdriverio:** ensure getLastScriptExecutionResult returns undefined for void functions ([aa00dfd](https://github.com/serenity-js/serenity-js/commit/aa00dfd3ab320a5d7ee786feea1ce0355ac42638))
|
|
16
|
+
* **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)
|
|
17
|
+
* **webdriverio:** separated UIElement.hoverOver from UIElement.scrollIntoView ([cf4ca2c](https://github.com/serenity-js/serenity-js/commit/cf4ca2c531e0f90f9a27917e322359c13bfbc6e6))
|
|
18
|
+
* **webdriverio:** updated WebdriverIO to 7.13.2 ([ef79d19](https://github.com/serenity-js/serenity-js/commit/ef79d1962224e8dd04a1b0e099662c91ea118dfe))
|
|
19
|
+
* **webdriverio:** updated WebdriverIO to 7.16.7 ([3316e29](https://github.com/serenity-js/serenity-js/commit/3316e2905e68b1cabf76086da353072376f95f4a))
|
|
20
|
+
* **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)
|
|
21
|
+
* **web:** renamed Element and associated classes to PageElement to avoid name conflicts ([1e4204b](https://github.com/serenity-js/serenity-js/commit/1e4204b5507469e6574c87a6d84454e39e8a813e))
|
|
22
|
+
* **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)
|
|
23
|
+
* **web:** standardised getters across PageElement implementations ([336472b](https://github.com/serenity-js/serenity-js/commit/336472b1a6882412f6a88483e51266909a1d51d0))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### Features
|
|
27
|
+
|
|
28
|
+
* **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)
|
|
29
|
+
* **web:** a common way to run the tests for all the web adapters ([c7e584a](https://github.com/serenity-js/serenity-js/commit/c7e584a9bf288ebc7781affdb720097527e8ed3a))
|
|
30
|
+
* **web:** added Page.viewportSize and Page.setViewportSize methods ([4cabbe2](https://github.com/serenity-js/serenity-js/commit/4cabbe21a7fbac3457c6a6ea3d4442a62c3f1f3c))
|
|
31
|
+
* **web:** all Screenplay APIs migrated from @serenity-js/webdriverio to @serenity-js/web ([7b6b95d](https://github.com/serenity-js/serenity-js/commit/7b6b95dc255446c29ae213ba2a1d142d426d16c8))
|
|
32
|
+
* **webdriverio:** support for native WebdriverIO services ([8d5ad22](https://github.com/serenity-js/serenity-js/commit/8d5ad22594cdb2ebddedc58a30259ca8430e360c))
|
|
33
|
+
* **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)
|
|
34
|
+
* **web:** interaction to setViewportSize of a Page ([dd7f180](https://github.com/serenity-js/serenity-js/commit/dd7f18057b857d2e69c19265888bfd5b15fda21b))
|
|
35
|
+
* **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)
|
|
36
|
+
* **web:** new module @serenity-js/web to provide Web-related Screenplay Pattern APIs ([bead861](https://github.com/serenity-js/serenity-js/commit/bead8612af1a5c99b775e680a3904f44d0281cf9))
|
|
37
|
+
* **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)
|
|
38
|
+
* **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)
|
|
39
|
+
* **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)
|
|
40
|
+
* **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)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
### BREAKING CHANGES
|
|
44
|
+
|
|
45
|
+
* **core:** Introduced @serenity-js/web - a shared library for Serenity/JS Web integration
|
|
46
|
+
modules such as @serenity-js/protractor and @serenity-js/webdriverio. Dropped support for Node 12.
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
6
52
|
## [2.32.5](https://github.com/serenity-js/serenity-js/compare/v2.32.4...v2.32.5) (2021-12-08)
|
|
7
53
|
|
|
8
54
|
**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;
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
93
|
+
testEnd = this.testEndEventFrom(started, finished);
|
|
82
94
|
const type = 'test:retry';
|
|
83
95
|
this.reporter.emit(type, {
|
|
84
|
-
...
|
|
96
|
+
...testEnd,
|
|
85
97
|
type,
|
|
86
98
|
error: this.errorFrom(finished.outcome),
|
|
87
99
|
});
|
|
88
100
|
}
|
|
89
101
|
else {
|
|
90
|
-
const
|
|
91
|
-
this.reporter.emit(
|
|
92
|
-
|
|
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
|
-
|
|
100
|
-
|
|
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) =>
|
|
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
|
|
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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import { Duration, UsesAbilities } from '@serenity-js/core';
|
|
2
|
+
import { BrowserCapabilities, BrowseTheWeb, Cookie, CookieData, Key, ModalDialog, Page, PageElement } from '@serenity-js/web';
|
|
3
|
+
import type * as wdio from 'webdriverio';
|
|
4
|
+
import { WebdriverIOPageElement, WebdriverIOPageElements } from '../models';
|
|
4
5
|
/**
|
|
5
6
|
* @desc
|
|
6
7
|
* An {@link @serenity-js/core/lib/screenplay~Ability} that enables the {@link @serenity-js/core/lib/screenplay/actor~Actor}
|
|
@@ -10,8 +11,6 @@ import { Key } from '../../input';
|
|
|
10
11
|
* This means that its interface can change without affecting the major version of Serenity/JS itself.
|
|
11
12
|
* In particular, please don't rely on the `browser` field to remain `public` in future releases.
|
|
12
13
|
*
|
|
13
|
-
* @experimental
|
|
14
|
-
*
|
|
15
14
|
* @example <caption>Using the WebdriverIO browser</caption>
|
|
16
15
|
* import { Actor } from '@serenity-js/core';
|
|
17
16
|
* import { BrowseTheWeb, by, Navigate, Target } from '@serenity-js/webdriverio'
|
|
@@ -36,31 +35,64 @@ import { Key } from '../../input';
|
|
|
36
35
|
* @implements {@serenity-js/core/lib/screenplay~Ability}
|
|
37
36
|
* @see {@link @serenity-js/core/lib/screenplay/actor~Actor}
|
|
38
37
|
*/
|
|
39
|
-
export declare class
|
|
40
|
-
readonly browser: Browser<'async'>;
|
|
41
|
-
/**
|
|
42
|
-
* @private
|
|
43
|
-
*/
|
|
44
|
-
private lastScriptExecutionSummary;
|
|
38
|
+
export declare class BrowseTheWebWithWebdriverIO extends BrowseTheWeb {
|
|
39
|
+
readonly browser: wdio.Browser<'async'>;
|
|
45
40
|
/**
|
|
46
41
|
* @param {@wdio/types~Browser} browserInstance
|
|
47
|
-
* @returns {
|
|
42
|
+
* @returns {BrowseTheWebWithWebdriverIO}
|
|
48
43
|
*/
|
|
49
|
-
static using(browserInstance: Browser<'async'>):
|
|
44
|
+
static using(browserInstance: wdio.Browser<'async'>): BrowseTheWebWithWebdriverIO;
|
|
50
45
|
/**
|
|
51
46
|
* @desc
|
|
52
|
-
* Used to access the Actor's ability to {@link
|
|
47
|
+
* Used to access the Actor's ability to {@link BrowseTheWebWithWebdriverIO}
|
|
53
48
|
* from within the {@link @serenity-js/core/lib/screenplay~Interaction} classes,
|
|
54
|
-
* such as {@link Navigate}.
|
|
49
|
+
* such as {@link @serenity-js/web/lib/screenplay/interactions~Navigate}.
|
|
55
50
|
*
|
|
56
51
|
* @param {@serenity-js/core/lib/screenplay/actor~UsesAbilities} actor
|
|
57
|
-
* @return {
|
|
52
|
+
* @return {BrowseTheWebWithWebdriverIO}
|
|
53
|
+
*/
|
|
54
|
+
static as(actor: UsesAbilities): BrowseTheWebWithWebdriverIO;
|
|
55
|
+
/**
|
|
56
|
+
* @private
|
|
58
57
|
*/
|
|
59
|
-
|
|
58
|
+
private lastScriptExecutionSummary;
|
|
60
59
|
/**
|
|
61
60
|
* @param {@wdio/types~Browser} browser
|
|
62
61
|
*/
|
|
63
|
-
constructor(browser: Browser<'async'>);
|
|
62
|
+
constructor(browser: wdio.Browser<'async'>);
|
|
63
|
+
browserCapabilities(): Promise<BrowserCapabilities>;
|
|
64
|
+
cookie(name: string): Promise<Cookie>;
|
|
65
|
+
setCookie(cookieData: CookieData): Promise<void>;
|
|
66
|
+
deleteAllCookies(): Promise<void>;
|
|
67
|
+
findByCss(selector: string): WebdriverIOPageElement;
|
|
68
|
+
/**
|
|
69
|
+
* @desc
|
|
70
|
+
* Retrieves a {@link @serenity-js/web/lib/screenplay/models~PageElement} which text includes `text`
|
|
71
|
+
* and which can be located using the CSS `selector`.
|
|
72
|
+
*
|
|
73
|
+
* Under the hood, this command uses https://webdriver.io/docs/selectors#element-with-certain-text
|
|
74
|
+
*
|
|
75
|
+
* This means that only some selectors are supported. For example:
|
|
76
|
+
* - 'h1'
|
|
77
|
+
* - 'h1.some-class'
|
|
78
|
+
* - '#someId'
|
|
79
|
+
* - 'h1[attribute-name="attribute-selector"]
|
|
80
|
+
*
|
|
81
|
+
* Notably, complex CSS selectors such as 'header h1' or 'header > h1' **WON'T WORK**.
|
|
82
|
+
*
|
|
83
|
+
* @param {string} selector
|
|
84
|
+
* @param {string} text
|
|
85
|
+
* @returns {@serenity-js/web/lib/screenplay/models~PageElement}
|
|
86
|
+
*/
|
|
87
|
+
findByCssContainingText(selector: string, text: RegExp | string): WebdriverIOPageElement;
|
|
88
|
+
findById(selector: string): WebdriverIOPageElement;
|
|
89
|
+
findByTagName(selector: string): WebdriverIOPageElement;
|
|
90
|
+
findByXPath(selector: string): WebdriverIOPageElement;
|
|
91
|
+
findAllByCss(selector: string): WebdriverIOPageElements;
|
|
92
|
+
findAllByTagName(selector: string): WebdriverIOPageElements;
|
|
93
|
+
findAllByXPath(selector: string): WebdriverIOPageElements;
|
|
94
|
+
private find;
|
|
95
|
+
private findAll;
|
|
64
96
|
/**
|
|
65
97
|
* @desc
|
|
66
98
|
* Navigate to a given destination, specified as an absolute URL
|
|
@@ -69,7 +101,29 @@ export declare class BrowseTheWeb implements Ability {
|
|
|
69
101
|
* @param {string} destination
|
|
70
102
|
* @returns {Promise<void>}
|
|
71
103
|
*/
|
|
72
|
-
|
|
104
|
+
navigateTo(destination: string): Promise<void>;
|
|
105
|
+
navigateBack(): Promise<void>;
|
|
106
|
+
navigateForward(): Promise<void>;
|
|
107
|
+
reloadPage(): Promise<void>;
|
|
108
|
+
/**
|
|
109
|
+
* @desc
|
|
110
|
+
* Returns a {@link Page} representing the currently active top-level browsing context.
|
|
111
|
+
*
|
|
112
|
+
* @returns {Promise<Page>}
|
|
113
|
+
*/
|
|
114
|
+
currentPage(): Promise<Page>;
|
|
115
|
+
/**
|
|
116
|
+
* @desc
|
|
117
|
+
* Returns an array of {@link Page} objects representing all the available
|
|
118
|
+
* top-level browsing context, e.g. all the open browser tabs.
|
|
119
|
+
*
|
|
120
|
+
* @returns {Promise<Array<Page>>}
|
|
121
|
+
*/
|
|
122
|
+
allPages(): Promise<Array<Page>>;
|
|
123
|
+
modalDialog(): Promise<ModalDialog>;
|
|
124
|
+
switchToFrame(targetOrIndex: PageElement | number | string): Promise<void>;
|
|
125
|
+
switchToParentFrame(): Promise<void>;
|
|
126
|
+
switchToDefaultContent(): Promise<void>;
|
|
73
127
|
/**
|
|
74
128
|
* @desc
|
|
75
129
|
* Send a sequence of {@link Key} strokes to the active element.
|
|
@@ -143,7 +197,7 @@ export declare class BrowseTheWeb implements Ability {
|
|
|
143
197
|
* Arrays and objects may also be used as script arguments as long as each item adheres
|
|
144
198
|
* to the types previously mentioned.
|
|
145
199
|
*
|
|
146
|
-
* Unlike executing synchronous JavaScript with {@link
|
|
200
|
+
* Unlike executing synchronous JavaScript with {@link BrowseTheWebWithWebdriverIO#executeScript},
|
|
147
201
|
* scripts executed with this function must explicitly signal they are finished by invoking the provided callback.
|
|
148
202
|
*
|
|
149
203
|
* This callback will always be injected into the executed function as the last argument,
|
|
@@ -185,10 +239,12 @@ export declare class BrowseTheWeb implements Ability {
|
|
|
185
239
|
executeAsyncScript<Result, Parameters extends any[]>(script: string | ((...args: [...parameters: Parameters, callback: (result: Result) => void]) => void), ...args: Parameters): Promise<Result>;
|
|
186
240
|
/**
|
|
187
241
|
* @desc
|
|
188
|
-
* Returns the last result of calling {@link
|
|
189
|
-
* or {@link
|
|
242
|
+
* Returns the last result of calling {@link BrowseTheWebWithWebdriverIO#executeAsyncScript}
|
|
243
|
+
* or {@link BrowseTheWebWithWebdriverIO#executeScript}
|
|
190
244
|
*
|
|
191
245
|
* @returns {any}
|
|
192
246
|
*/
|
|
193
|
-
|
|
247
|
+
lastScriptExecutionResult<Result = any>(): Result;
|
|
248
|
+
waitFor(duration: Duration): Promise<void>;
|
|
249
|
+
waitUntil(condition: () => boolean | Promise<boolean>, timeout: Duration): Promise<void>;
|
|
194
250
|
}
|