@serenity-js/webdriverio 2.32.3 → 3.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +21 -31
  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
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebdriverIOPage = void 0;
4
+ const web_1 = require("@serenity-js/web");
5
+ const url_1 = require("url");
6
+ class WebdriverIOPage extends web_1.Page {
7
+ constructor(browser, handle) {
8
+ super(handle);
9
+ this.browser = browser;
10
+ }
11
+ title() {
12
+ return this.switchToAndPerform(async (browser) => {
13
+ return browser.getTitle();
14
+ });
15
+ }
16
+ name() {
17
+ return this.switchToAndPerform(async (browser) => {
18
+ return browser.execute(`return window.name`);
19
+ });
20
+ }
21
+ async url() {
22
+ return this.switchToAndPerform(async (browser) => {
23
+ return new url_1.URL(await browser.getUrl());
24
+ });
25
+ }
26
+ async viewportSize() {
27
+ return this.switchToAndPerform(async (browser) => {
28
+ if (!browser.isDevTools) {
29
+ const calculatedViewportSize = await browser.execute(`
30
+ return {
31
+ width: Math.max(document.documentElement.clientWidth, window.innerWidth || 0),
32
+ height: Math.max(document.documentElement.clientHeight, window.innerHeight || 0),
33
+ }
34
+ `);
35
+ // Chrome headless hard-codes window.innerWidth and window.innerHeight to 0
36
+ if (calculatedViewportSize.width > 0 && calculatedViewportSize.height > 0) {
37
+ return calculatedViewportSize;
38
+ }
39
+ }
40
+ return browser.getWindowSize();
41
+ });
42
+ }
43
+ setViewportSize(size) {
44
+ return this.switchToAndPerform(async (browser) => {
45
+ let desiredWindowSize = size;
46
+ if (!browser.isDevTools) {
47
+ desiredWindowSize = await browser.execute(`
48
+ var currentViewportWidth = Math.max(document.documentElement.clientWidth, window.innerWidth || 0)
49
+ var currentViewportHeight = Math.max(document.documentElement.clientHeight, window.innerHeight || 0)
50
+
51
+ return {
52
+ width: Math.max(window.outerWidth - currentViewportWidth + ${size.width}, ${size.width}),
53
+ height: Math.max(window.outerHeight - currentViewportHeight + ${size.height}, ${size.height}),
54
+ };
55
+ `);
56
+ }
57
+ return browser.setWindowSize(desiredWindowSize.width, desiredWindowSize.height);
58
+ });
59
+ }
60
+ async close() {
61
+ return this.switchToAndPerform(browser => browser.closeWindow());
62
+ }
63
+ async closeOthers() {
64
+ const windowHandles = await this.browser.getWindowHandles();
65
+ for (const handle of windowHandles) {
66
+ if (handle !== this.handle) {
67
+ await this.browser.switchToWindow(handle);
68
+ await this.browser.closeWindow();
69
+ }
70
+ }
71
+ await this.browser.switchToWindow(this.handle);
72
+ }
73
+ async isPresent() {
74
+ const currentPageHandle = await this.browser.getWindowHandle();
75
+ const desiredPageHandle = this.handle;
76
+ const isOpen = await this.browser.switchToWindow(desiredPageHandle).then(() => true, _error => false);
77
+ await this.browser.switchToWindow(currentPageHandle);
78
+ return isOpen;
79
+ }
80
+ async switchTo() {
81
+ await this.browser.switchToWindow(this.handle);
82
+ }
83
+ async switchToAndPerform(action) {
84
+ const currentPageHandle = await this.browser.getWindowHandle();
85
+ const desiredPageHandle = this.handle;
86
+ const shouldSwitch = currentPageHandle !== desiredPageHandle;
87
+ if (shouldSwitch) {
88
+ await this.browser.switchToWindow(desiredPageHandle);
89
+ }
90
+ const result = await action(this.browser);
91
+ if (shouldSwitch) {
92
+ await this.browser.switchToWindow(currentPageHandle);
93
+ }
94
+ return result;
95
+ }
96
+ }
97
+ exports.WebdriverIOPage = WebdriverIOPage;
98
+ //# sourceMappingURL=WebdriverIOPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebdriverIOPage.js","sourceRoot":"","sources":["../../../src/screenplay/models/WebdriverIOPage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { PageElement } from '@serenity-js/web';
2
+ import * as wdio from 'webdriverio';
3
+ import { WebdriverIONativeElementRoot } from './WebdriverIONativeElementRoot';
4
+ export declare class WebdriverIOPageElement extends PageElement<WebdriverIONativeElementRoot, wdio.Element<'async'>> {
5
+ of(parent: WebdriverIOPageElement): PageElement<WebdriverIONativeElementRoot, wdio.Element<'async'>>;
6
+ clearValue(): Promise<void>;
7
+ click(): Promise<void>;
8
+ doubleClick(): Promise<void>;
9
+ enterValue(value: string | number | Array<string | number>): Promise<void>;
10
+ scrollIntoView(): Promise<void>;
11
+ hoverOver(): Promise<void>;
12
+ rightClick(): Promise<void>;
13
+ attribute(name: string): Promise<string>;
14
+ text(): Promise<string>;
15
+ value(): Promise<string>;
16
+ isActive(): Promise<boolean>;
17
+ isClickable(): Promise<boolean>;
18
+ isDisplayed(): Promise<boolean>;
19
+ isEnabled(): Promise<boolean>;
20
+ isPresent(): Promise<boolean>;
21
+ isSelected(): Promise<boolean>;
22
+ }
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebdriverIOPageElement = void 0;
4
+ const web_1 = require("@serenity-js/web");
5
+ class WebdriverIOPageElement extends web_1.PageElement {
6
+ of(parent) {
7
+ return new WebdriverIOPageElement(() => parent.nativeElement(), this.locator);
8
+ }
9
+ async clearValue() {
10
+ const element = await this.nativeElement();
11
+ return element.clearValue();
12
+ }
13
+ async click() {
14
+ const element = await this.nativeElement();
15
+ return element.click();
16
+ }
17
+ async doubleClick() {
18
+ const element = await this.nativeElement();
19
+ return element.doubleClick();
20
+ }
21
+ async enterValue(value) {
22
+ const element = await this.nativeElement();
23
+ return element.addValue(value);
24
+ }
25
+ async scrollIntoView() {
26
+ const element = await this.nativeElement();
27
+ return element.scrollIntoView();
28
+ }
29
+ async hoverOver() {
30
+ const element = await this.nativeElement();
31
+ return element.moveTo();
32
+ }
33
+ async rightClick() {
34
+ const element = await this.nativeElement();
35
+ return element.click({ button: 'right' });
36
+ }
37
+ async attribute(name) {
38
+ const element = await this.nativeElement();
39
+ return element.getAttribute(name);
40
+ }
41
+ async text() {
42
+ const element = await this.nativeElement();
43
+ return element.getText();
44
+ }
45
+ async value() {
46
+ const element = await this.nativeElement();
47
+ return element.getValue();
48
+ }
49
+ async isActive() {
50
+ const element = await this.nativeElement();
51
+ return element.isFocused();
52
+ }
53
+ async isClickable() {
54
+ const element = await this.nativeElement();
55
+ return element.isClickable();
56
+ }
57
+ async isDisplayed() {
58
+ const element = await this.nativeElement();
59
+ return element.isDisplayed();
60
+ }
61
+ async isEnabled() {
62
+ const element = await this.nativeElement();
63
+ return element.isEnabled();
64
+ }
65
+ async isPresent() {
66
+ const element = await this.nativeElement();
67
+ return element.isExisting();
68
+ }
69
+ async isSelected() {
70
+ const element = await this.nativeElement();
71
+ return element.isSelected();
72
+ }
73
+ }
74
+ exports.WebdriverIOPageElement = WebdriverIOPageElement;
75
+ //# sourceMappingURL=WebdriverIOPageElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebdriverIOPageElement.js","sourceRoot":"","sources":["../../../src/screenplay/models/WebdriverIOPageElement.ts"],"names":[],"mappings":";;;AAAA,0CAA+C;AAK/C,MAAa,sBACT,SAAQ,iBAAgE;IAExE,EAAE,CAAC,MAA8B;QAC7B,OAAO,IAAI,sBAAsB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,OAAO,OAAO,CAAC,UAAU,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,KAAK;QACP,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,WAAW;QACb,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAA+C;QAC5D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,cAAc;QAChB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,OAAO,OAAO,CAAC,cAAc,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,SAAS;QACX,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,OAAO,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY;QACxB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,OAAO,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,IAAI;QACN,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,KAAK;QACP,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,QAAQ;QACV,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,OAAO,OAAO,CAAC,SAAS,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,WAAW;QACb,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,WAAW;QACb,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,SAAS;QACX,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,OAAO,OAAO,CAAC,SAAS,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,SAAS;QACX,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,OAAO,OAAO,CAAC,UAAU,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,OAAO,OAAO,CAAC,UAAU,EAAE,CAAC;IAChC,CAAC;CACJ;AAtFD,wDAsFC"}
@@ -0,0 +1,15 @@
1
+ import { PageElement, PageElements } from '@serenity-js/web';
2
+ import * as wdio from 'webdriverio';
3
+ import { WebdriverIONativeElementRoot } from './WebdriverIONativeElementRoot';
4
+ import { WebdriverIOPageElement } from './WebdriverIOPageElement';
5
+ export declare class WebdriverIOPageElements extends PageElements<WebdriverIONativeElementRoot, wdio.ElementArray, wdio.Element<'async'>> {
6
+ of(parent: PageElement<WebdriverIONativeElementRoot, wdio.Element<'async'>>): WebdriverIOPageElements;
7
+ count(): Promise<number>;
8
+ first(): Promise<WebdriverIOPageElement>;
9
+ last(): Promise<WebdriverIOPageElement>;
10
+ get(index: number): Promise<WebdriverIOPageElement>;
11
+ private elementAt;
12
+ map<O>(fn: (element: PageElement, index?: number, elements?: PageElements) => Promise<O> | O): Promise<O[]>;
13
+ filter(fn: (element: PageElement, index?: number) => Promise<boolean> | boolean): WebdriverIOPageElements;
14
+ forEach(fn: (element: PageElement, index?: number, elements?: PageElements) => Promise<void> | void): Promise<void>;
15
+ }
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebdriverIOPageElements = void 0;
4
+ const core_1 = require("@serenity-js/core");
5
+ const web_1 = require("@serenity-js/web");
6
+ const WebdriverIOPageElement_1 = require("./WebdriverIOPageElement");
7
+ class WebdriverIOPageElements extends web_1.PageElements {
8
+ of(parent) {
9
+ return new WebdriverIOPageElements(() => parent.nativeElement(), this.locator);
10
+ }
11
+ async count() {
12
+ const elements = await this.nativeElementList();
13
+ return elements.length;
14
+ }
15
+ first() {
16
+ return this.elementAt(0);
17
+ }
18
+ async last() {
19
+ const elements = await this.nativeElementList();
20
+ const index = elements.length - 1;
21
+ return this.elementAt(index);
22
+ }
23
+ get(index) {
24
+ return this.elementAt(index);
25
+ }
26
+ async elementAt(index) {
27
+ const elements = await this.nativeElementList();
28
+ if (!elements[index]) {
29
+ throw new core_1.LogicError(`There's no item at index ${index}`);
30
+ }
31
+ return new WebdriverIOPageElement_1.WebdriverIOPageElement(this.context, () => elements[index]);
32
+ }
33
+ async map(fn) {
34
+ const elements = await this.nativeElementList();
35
+ return Promise.all(elements.map((element, index) => fn(new WebdriverIOPageElement_1.WebdriverIOPageElement(this.context, () => element), index, this)));
36
+ }
37
+ filter(fn) {
38
+ return new WebdriverIOPageElements(this.context, async (context) => {
39
+ const elements = await this.locator(context);
40
+ const matching = await Promise.all(elements.map(async (nativeElement, index) => {
41
+ const element = new WebdriverIOPageElement_1.WebdriverIOPageElement(this.context, () => nativeElement);
42
+ const matches = await fn(element, index);
43
+ return matches
44
+ ? nativeElement
45
+ : undefined;
46
+ }));
47
+ const results = matching.filter((element) => {
48
+ return element !== undefined;
49
+ });
50
+ results.selector = elements.selector;
51
+ results.parent = elements.parent;
52
+ results.foundWith = elements.foundWith;
53
+ results.props = elements.props;
54
+ return results;
55
+ });
56
+ }
57
+ async forEach(fn) {
58
+ const elements = await this.nativeElementList();
59
+ return elements.reduce((previous, element, index) => {
60
+ return previous.then(() => fn(new WebdriverIOPageElement_1.WebdriverIOPageElement(this.context, () => element), index, this));
61
+ }, Promise.resolve());
62
+ }
63
+ }
64
+ exports.WebdriverIOPageElements = WebdriverIOPageElements;
65
+ //# sourceMappingURL=WebdriverIOPageElements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebdriverIOPageElements.js","sourceRoot":"","sources":["../../../src/screenplay/models/WebdriverIOPageElements.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export * from './WebdriverIOCookie';
2
+ export * from './WebdriverIOModalDialog';
3
+ export * from './WebdriverIONativeElementRoot';
4
+ export * from './WebdriverIOPage';
5
+ export * from './WebdriverIOPageElement';
6
+ export * from './WebdriverIOPageElements';
@@ -10,5 +10,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./Key"), exports);
13
+ __exportStar(require("./WebdriverIOCookie"), exports);
14
+ __exportStar(require("./WebdriverIOModalDialog"), exports);
15
+ __exportStar(require("./WebdriverIONativeElementRoot"), exports);
16
+ __exportStar(require("./WebdriverIOPage"), exports);
17
+ __exportStar(require("./WebdriverIOPageElement"), exports);
18
+ __exportStar(require("./WebdriverIOPageElements"), exports);
14
19
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/screenplay/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAoC;AACpC,2DAAyC;AACzC,iEAA+C;AAC/C,oDAAkC;AAClC,2DAAyC;AACzC,4DAA0C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serenity-js/webdriverio",
3
- "version": "2.32.3",
3
+ "version": "3.0.0-rc.1",
4
4
  "description": "Serenity/JS reporter and Screenplay Pattern library for WebdriverIO",
5
5
  "author": {
6
6
  "name": "Jan Molak",
@@ -31,14 +31,9 @@
31
31
  ],
32
32
  "scripts": {
33
33
  "clean": "rimraf .nyc_output lib target",
34
- "lint": "eslint --ext ts --config ../../.eslintrc.js .",
34
+ "lint": "eslint --ext ts --config ../../.eslintrc.yml .",
35
35
  "lint:fix": "npm run lint -- --fix",
36
- "test": "npm run test:mocha && npm run test:wdio",
37
- "test:mocha": "nyc --report-dir ../../target/coverage/webdriverio/mocha mocha --config ../../.mocharc.yml 'spec/adapter/**/*.spec.*'",
38
- "test:wdio": "cross-env PORT=8080 start-server-and-test test:wdio:start-server http://localhost:8080 test:wdio:run",
39
- "test:wdio:start-server": "static-content-server",
40
- "test:wdio:run": "nyc --report-dir ../../target/coverage/webdriverio/wdio wdio ./spec/wdio.conf.ts",
41
- "wdio": "wdio ./spec/wdio.conf.ts",
36
+ "test": "nyc --report-dir ../../target/coverage/webdriverio/mocha mocha --config ../../.mocharc.yml 'spec/adapter/**/*.spec.*'",
42
37
  "compile": "tsc --project tsconfig.json",
43
38
  "site": "esdoc -c .esdoc.js"
44
39
  },
@@ -50,11 +45,12 @@
50
45
  "url": "https://github.com/serenity-js/serenity-js/issues"
51
46
  },
52
47
  "engines": {
53
- "node": "^12 || ^14 || ^16",
48
+ "node": "^14 || ^16",
54
49
  "npm": "^6 || ^7 || ^8"
55
50
  },
56
51
  "dependencies": {
57
- "@serenity-js/core": "2.32.3",
52
+ "@serenity-js/core": "3.0.0-rc.1",
53
+ "@serenity-js/web": "3.0.0-rc.1",
58
54
  "@wdio/reporter": "^7.16.3",
59
55
  "@wdio/types": "^7.16.3",
60
56
  "deepmerge": "^4.2.2",
@@ -62,10 +58,11 @@
62
58
  "tiny-types": "^1.16.1"
63
59
  },
64
60
  "peerDependencies": {
65
- "@serenity-js/cucumber": "^2.29.0",
66
- "@serenity-js/jasmine": "^2.29.0",
67
- "@serenity-js/mocha": "^2.29.0",
68
- "@wdio/cli": "^7.16.4"
61
+ "@serenity-js/cucumber": "^3.0.0-rc",
62
+ "@serenity-js/jasmine": "^3.0.0-rc",
63
+ "@serenity-js/mocha": "^3.0.0-rc",
64
+ "@wdio/cli": "^7.16.10",
65
+ "webdriverio": "^7.16.10"
69
66
  },
70
67
  "peerDependenciesMeta": {
71
68
  "@serenity-js/cucumber": {
@@ -79,28 +76,21 @@
79
76
  }
80
77
  },
81
78
  "devDependencies": {
82
- "@documentation/esdoc-template": "2.0.0",
83
- "@integration/testing-tools": "2.0.0",
84
- "@integration/web-testing-tools": "2.0.0",
85
- "@serenity-js/assertions": "2.32.3",
86
- "@serenity-js/console-reporter": "2.32.3",
87
- "@serenity-js/cucumber": "2.32.3",
88
- "@serenity-js/jasmine": "2.32.3",
89
- "@serenity-js/mocha": "2.32.3",
90
- "@serenity-js/rest": "2.32.3",
79
+ "@documentation/esdoc-template": "3.0.0",
80
+ "@integration/testing-tools": "3.0.0",
91
81
  "@types/mocha": "^9.0.0",
92
- "@wdio/cli": "^7.16.4",
93
- "@wdio/devtools-service": "^7.16.4",
94
- "@wdio/dot-reporter": "^7.16.4",
95
- "@wdio/local-runner": "^7.16.4",
96
- "@wdio/mocha-framework": "^7.16.4",
97
- "@wdio/spec-reporter": "^7.16.4",
82
+ "@wdio/cli": "^7.16.10",
83
+ "@wdio/devtools-service": "^7.16.10",
84
+ "@wdio/dot-reporter": "^7.16.6",
85
+ "@wdio/local-runner": "^7.16.10",
86
+ "@wdio/mocha-framework": "^7.16.6",
87
+ "@wdio/spec-reporter": "^7.16.9",
98
88
  "axios": "^0.21.4",
99
89
  "cross-env": "^7.0.3",
100
90
  "mocha": "^9.1.3",
101
91
  "mocha-testdata": "^1.2.0",
102
92
  "start-server-and-test": "^1.14.0",
103
- "webdriverio": "^7.16.4"
93
+ "webdriverio": "^7.16.10"
104
94
  },
105
95
  "nyc": {
106
96
  "include": [
@@ -122,5 +112,5 @@
122
112
  "cache": true,
123
113
  "all": false
124
114
  },
125
- "gitHead": "273d6b021b4b2153711e5286dc448ea01b9200f8"
115
+ "gitHead": "ceed4ad3a2375c14b0546a6fc2fe3e816250f746"
126
116
  }
@@ -44,6 +44,8 @@ export class WebdriverIOFrameworkAdapter {
44
44
  ]));
45
45
 
46
46
  this.notifier = new WebdriverIONotifier(
47
+ config,
48
+ capabilities,
47
49
  reporter,
48
50
  this.adapter.successThreshold(),
49
51
  cid,