@serenity-js/webdriverio 3.22.3 → 3.23.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 CHANGED
@@ -3,6 +3,26 @@
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.23.0](https://github.com/serenity-js/serenity-js/compare/v3.22.4...v3.23.0) (2024-05-12)
7
+
8
+
9
+ ### Features
10
+
11
+ * **webdriverio:** support for injecting scripts parameterised with complex data structures ([e920e67](https://github.com/serenity-js/serenity-js/commit/e920e6709262c8249c992ac02a01f49d5789a35d))
12
+ * **web:** scripts injected into the browser accept data structures containing PageElement objects ([2fbddf5](https://github.com/serenity-js/serenity-js/commit/2fbddf5d78d2965aecd6786b020c93ea079bdaf1))
13
+
14
+
15
+
16
+
17
+
18
+ ## [3.22.4](https://github.com/serenity-js/serenity-js/compare/v3.22.3...v3.22.4) (2024-05-07)
19
+
20
+ **Note:** Version bump only for package @serenity-js/webdriverio
21
+
22
+
23
+
24
+
25
+
6
26
  ## [3.22.3](https://github.com/serenity-js/serenity-js/compare/v3.22.2...v3.22.3) (2024-05-01)
7
27
 
8
28
 
@@ -1,8 +1,8 @@
1
1
  /// <reference types="node" resolution-mode="require"/>
2
2
  import 'webdriverio';
3
3
  import type { CorrelationId } from '@serenity-js/core/lib/model/index.js';
4
- import type { Cookie, CookieData, ModalDialogHandler, PageElement, PageElements, Selector } from '@serenity-js/web';
5
- import { Key, Page } from '@serenity-js/web';
4
+ import type { Cookie, CookieData, ModalDialogHandler, PageElements, Selector } from '@serenity-js/web';
5
+ import { Key, Page, PageElement } from '@serenity-js/web';
6
6
  import { URL } from 'url';
7
7
  import type { WebdriverIOBrowsingSession } from './WebdriverIOBrowsingSession.js';
8
8
  import type { WebdriverIOErrorHandler } from './WebdriverIOErrorHandler.js';
@@ -15,6 +15,7 @@ export declare class WebdriverIOPage extends Page<WebdriverIO.Element> {
15
15
  private readonly browser;
16
16
  private readonly errorHandler;
17
17
  private lastScriptExecutionSummary;
18
+ private dehydrator;
18
19
  constructor(session: WebdriverIOBrowsingSession, browser: WebdriverIO.Browser, modalDialogHandler: ModalDialogHandler, errorHandler: WebdriverIOErrorHandler, pageId: CorrelationId);
19
20
  createPageElement(nativeElement: WebdriverIO.Element): PageElement<WebdriverIO.Element>;
20
21
  locate(selector: Selector): PageElement<WebdriverIO.Element>;
@@ -1 +1 @@
1
- {"version":3,"file":"WebdriverIOPage.d.ts","sourceRoot":"","sources":["../../../src/screenplay/models/WebdriverIOPage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebdriverIOPage.d.ts","sourceRoot":"","sources":["../../../src/screenplay/models/WebdriverIOPage.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import 'webdriverio';
2
2
  import { List, LogicError } from '@serenity-js/core';
3
- import { BrowserWindowClosedError, ByCss, Key, Page, PageElementsLocator } from '@serenity-js/web';
3
+ import { ArgumentDehydrator, BrowserWindowClosedError, ByCss, Key, Page, PageElement, PageElementsLocator } from '@serenity-js/web';
4
+ import * as scripts from '@serenity-js/web/lib/scripts/index.js';
4
5
  import { URL } from 'url';
5
6
  import { WebdriverIOExistingElementLocator, WebdriverIOLocator, WebdriverIORootLocator } from './locators/index.js';
6
7
  import { WebdriverIOCookie } from './WebdriverIOCookie.js';
@@ -14,6 +15,9 @@ export class WebdriverIOPage extends Page {
14
15
  browser;
15
16
  errorHandler;
16
17
  lastScriptExecutionSummary;
18
+ /* eslint-disable unicorn/consistent-function-scoping */
19
+ dehydrator = new ArgumentDehydrator((item) => item instanceof PageElement, (item) => item.nativeElement());
20
+ /* eslint-enable */
17
21
  constructor(session, browser, modalDialogHandler, errorHandler, pageId) {
18
22
  super(session, new WebdriverIORootLocator(browser), modalDialogHandler, pageId);
19
23
  this.browser = browser;
@@ -50,29 +54,33 @@ export class WebdriverIOPage extends Page {
50
54
  await this.inContextOfThisPage(() => this.browser.keys(keySequence));
51
55
  }
52
56
  async executeScript(script, ...args) {
53
- const innerArguments = [];
54
- for (const arg of args) {
55
- const innerArgument = arg instanceof WebdriverIOPageElement
56
- ? await arg.nativeElement()
57
- : arg;
58
- innerArguments.push(innerArgument);
59
- }
60
- const result = await this.inContextOfThisPage(() => {
61
- return this.browser.execute(script, ...innerArguments);
57
+ const serialisedScript = typeof script === 'function'
58
+ ? String(script)
59
+ : String(`function script() { ${script} }`);
60
+ const executableScript = new Function(`
61
+ var parameters = (${scripts.rehydrate}).apply(null, arguments);
62
+ return (${serialisedScript}).apply(null, parameters);
63
+ `);
64
+ const result = await this.inContextOfThisPage(async () => {
65
+ const dehydratedArguments = await this.dehydrator.dehydrate(args);
66
+ return await this.browser.execute(executableScript, ...dehydratedArguments);
62
67
  });
63
68
  this.lastScriptExecutionSummary = new LastScriptExecutionSummary(result);
64
69
  return result;
65
70
  }
66
71
  async executeAsyncScript(script, ...args) {
67
- const parameters = [];
68
- for (const arg of args) {
69
- const parameter = arg instanceof WebdriverIOPageElement
70
- ? await arg.nativeElement()
71
- : arg;
72
- parameters.push(parameter);
73
- }
74
- const result = await this.inContextOfThisPage(() => {
75
- return this.browser.executeAsync(script, ...parameters);
72
+ const serialisedScript = typeof script === 'function'
73
+ ? String(script)
74
+ : String(`function script() { ${script} }`);
75
+ const executableScript = new Function(`
76
+ var args = Array.prototype.slice.call(arguments, 0, -1);
77
+ var callback = arguments[arguments.length - 1];
78
+ var parameters = (${scripts.rehydrate}).apply(null, args);
79
+ (${serialisedScript}).apply(null, parameters.concat(callback));
80
+ `);
81
+ const result = await this.inContextOfThisPage(async () => {
82
+ const dehydratedArguments = await this.dehydrator.dehydrate(args);
83
+ return this.browser.executeAsync(executableScript, ...dehydratedArguments);
76
84
  });
77
85
  this.lastScriptExecutionSummary = new LastScriptExecutionSummary(result);
78
86
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"WebdriverIOPage.js","sourceRoot":"","sources":["../../../src/screenplay/models/WebdriverIOPage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebdriverIOPage.js","sourceRoot":"","sources":["../../../src/screenplay/models/WebdriverIOPage.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  /// <reference types="node" />
2
2
  import 'webdriverio';
3
3
  import type { CorrelationId } from '@serenity-js/core/lib/model/index.js';
4
- import type { Cookie, CookieData, ModalDialogHandler, PageElement, PageElements, Selector } from '@serenity-js/web';
5
- import { Key, Page } from '@serenity-js/web';
4
+ import type { Cookie, CookieData, ModalDialogHandler, PageElements, Selector } from '@serenity-js/web';
5
+ import { Key, Page, PageElement } from '@serenity-js/web';
6
6
  import { URL } from 'url';
7
7
  import type { WebdriverIOBrowsingSession } from './WebdriverIOBrowsingSession.js';
8
8
  import type { WebdriverIOErrorHandler } from './WebdriverIOErrorHandler.js';
@@ -15,6 +15,7 @@ export declare class WebdriverIOPage extends Page<WebdriverIO.Element> {
15
15
  private readonly browser;
16
16
  private readonly errorHandler;
17
17
  private lastScriptExecutionSummary;
18
+ private dehydrator;
18
19
  constructor(session: WebdriverIOBrowsingSession, browser: WebdriverIO.Browser, modalDialogHandler: ModalDialogHandler, errorHandler: WebdriverIOErrorHandler, pageId: CorrelationId);
19
20
  createPageElement(nativeElement: WebdriverIO.Element): PageElement<WebdriverIO.Element>;
20
21
  locate(selector: Selector): PageElement<WebdriverIO.Element>;
@@ -1 +1 @@
1
- {"version":3,"file":"WebdriverIOPage.d.ts","sourceRoot":"","sources":["../../../src/screenplay/models/WebdriverIOPage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebdriverIOPage.d.ts","sourceRoot":"","sources":["../../../src/screenplay/models/WebdriverIOPage.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,33 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.WebdriverIOPage = void 0;
4
27
  require("webdriverio");
5
28
  const core_1 = require("@serenity-js/core");
6
29
  const web_1 = require("@serenity-js/web");
30
+ const scripts = __importStar(require("@serenity-js/web/lib/scripts/index.js"));
7
31
  const url_1 = require("url");
8
32
  const index_js_1 = require("./locators/index.js");
9
33
  const WebdriverIOCookie_js_1 = require("./WebdriverIOCookie.js");
@@ -17,6 +41,9 @@ class WebdriverIOPage extends web_1.Page {
17
41
  browser;
18
42
  errorHandler;
19
43
  lastScriptExecutionSummary;
44
+ /* eslint-disable unicorn/consistent-function-scoping */
45
+ dehydrator = new web_1.ArgumentDehydrator((item) => item instanceof web_1.PageElement, (item) => item.nativeElement());
46
+ /* eslint-enable */
20
47
  constructor(session, browser, modalDialogHandler, errorHandler, pageId) {
21
48
  super(session, new index_js_1.WebdriverIORootLocator(browser), modalDialogHandler, pageId);
22
49
  this.browser = browser;
@@ -53,29 +80,33 @@ class WebdriverIOPage extends web_1.Page {
53
80
  await this.inContextOfThisPage(() => this.browser.keys(keySequence));
54
81
  }
55
82
  async executeScript(script, ...args) {
56
- const innerArguments = [];
57
- for (const arg of args) {
58
- const innerArgument = arg instanceof WebdriverIOPageElement_js_1.WebdriverIOPageElement
59
- ? await arg.nativeElement()
60
- : arg;
61
- innerArguments.push(innerArgument);
62
- }
63
- const result = await this.inContextOfThisPage(() => {
64
- return this.browser.execute(script, ...innerArguments);
83
+ const serialisedScript = typeof script === 'function'
84
+ ? String(script)
85
+ : String(`function script() { ${script} }`);
86
+ const executableScript = new Function(`
87
+ var parameters = (${scripts.rehydrate}).apply(null, arguments);
88
+ return (${serialisedScript}).apply(null, parameters);
89
+ `);
90
+ const result = await this.inContextOfThisPage(async () => {
91
+ const dehydratedArguments = await this.dehydrator.dehydrate(args);
92
+ return await this.browser.execute(executableScript, ...dehydratedArguments);
65
93
  });
66
94
  this.lastScriptExecutionSummary = new LastScriptExecutionSummary(result);
67
95
  return result;
68
96
  }
69
97
  async executeAsyncScript(script, ...args) {
70
- const parameters = [];
71
- for (const arg of args) {
72
- const parameter = arg instanceof WebdriverIOPageElement_js_1.WebdriverIOPageElement
73
- ? await arg.nativeElement()
74
- : arg;
75
- parameters.push(parameter);
76
- }
77
- const result = await this.inContextOfThisPage(() => {
78
- return this.browser.executeAsync(script, ...parameters);
98
+ const serialisedScript = typeof script === 'function'
99
+ ? String(script)
100
+ : String(`function script() { ${script} }`);
101
+ const executableScript = new Function(`
102
+ var args = Array.prototype.slice.call(arguments, 0, -1);
103
+ var callback = arguments[arguments.length - 1];
104
+ var parameters = (${scripts.rehydrate}).apply(null, args);
105
+ (${serialisedScript}).apply(null, parameters.concat(callback));
106
+ `);
107
+ const result = await this.inContextOfThisPage(async () => {
108
+ const dehydratedArguments = await this.dehydrator.dehydrate(args);
109
+ return this.browser.executeAsync(executableScript, ...dehydratedArguments);
79
110
  });
80
111
  this.lastScriptExecutionSummary = new LastScriptExecutionSummary(result);
81
112
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"WebdriverIOPage.js","sourceRoot":"","sources":["../../../src/screenplay/models/WebdriverIOPage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebdriverIOPage.js","sourceRoot":"","sources":["../../../src/screenplay/models/WebdriverIOPage.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serenity-js/webdriverio",
3
- "version": "3.22.3",
3
+ "version": "3.23.0",
4
4
  "description": "Serenity/JS reporter and Screenplay Pattern library for WebdriverIO",
5
5
  "author": {
6
6
  "name": "Jan Molak",
@@ -65,9 +65,9 @@
65
65
  "node": "^16.13 || ^18.12 || ^20"
66
66
  },
67
67
  "dependencies": {
68
- "@serenity-js/core": "3.22.3",
69
- "@serenity-js/rest": "3.22.3",
70
- "@serenity-js/web": "3.22.3",
68
+ "@serenity-js/core": "3.23.0",
69
+ "@serenity-js/rest": "3.23.0",
70
+ "@serenity-js/web": "3.23.0",
71
71
  "@wdio/reporter": "8.36.1",
72
72
  "deepmerge": "4.3.1",
73
73
  "tiny-types": "1.22.0"
@@ -109,5 +109,5 @@
109
109
  "start-server-and-test": "2.0.3",
110
110
  "webdriverio": "8.36.1"
111
111
  },
112
- "gitHead": "cf6dca18893e1087c1ff95c419a422c73c7f47ce"
112
+ "gitHead": "be1bb276388c295df01146eb8589a003b3d8214c"
113
113
  }
@@ -2,8 +2,9 @@ import 'webdriverio';
2
2
 
3
3
  import { List, LogicError } from '@serenity-js/core';
4
4
  import type { CorrelationId } from '@serenity-js/core/lib/model/index.js';
5
- import type { Cookie, CookieData, ModalDialogHandler, PageElement, PageElements, Selector } from '@serenity-js/web';
6
- import { BrowserWindowClosedError, ByCss, Key, Page, PageElementsLocator } from '@serenity-js/web';
5
+ import type { Cookie, CookieData, ModalDialogHandler, PageElements, Selector } from '@serenity-js/web';
6
+ import { ArgumentDehydrator, BrowserWindowClosedError, ByCss, Key, Page, PageElement, PageElementsLocator } from '@serenity-js/web';
7
+ import * as scripts from '@serenity-js/web/lib/scripts/index.js';
7
8
  import { URL } from 'url';
8
9
 
9
10
  import { WebdriverIOExistingElementLocator, WebdriverIOLocator, WebdriverIORootLocator } from './locators/index.js';
@@ -21,6 +22,13 @@ export class WebdriverIOPage extends Page<WebdriverIO.Element> {
21
22
 
22
23
  private lastScriptExecutionSummary: LastScriptExecutionSummary;
23
24
 
25
+ /* eslint-disable unicorn/consistent-function-scoping */
26
+ private dehydrator: ArgumentDehydrator<PageElement<WebdriverIO.Element>, WebdriverIO.Element> = new ArgumentDehydrator(
27
+ (item: any): item is PageElement<WebdriverIO.Element> => item instanceof PageElement,
28
+ (item: PageElement<WebdriverIO.Element>) => item.nativeElement(),
29
+ );
30
+ /* eslint-enable */
31
+
24
32
  constructor(
25
33
  session: WebdriverIOBrowsingSession,
26
34
  private readonly browser: WebdriverIO.Browser,
@@ -93,17 +101,21 @@ export class WebdriverIOPage extends Page<WebdriverIO.Element> {
93
101
  script: string | ((...parameters: InnerArguments) => Result),
94
102
  ...args: InnerArguments
95
103
  ): Promise<Result> {
96
- const innerArguments = [] as InnerArguments;
97
- for (const arg of args) {
98
- const innerArgument = arg instanceof WebdriverIOPageElement
99
- ? await arg.nativeElement()
100
- : arg;
101
104
 
102
- innerArguments.push(innerArgument);
103
- }
105
+ const serialisedScript = typeof script === 'function'
106
+ ? String(script)
107
+ : String(`function script() { ${ script } }`);
108
+
109
+ const executableScript = new Function(`
110
+ var parameters = (${ scripts.rehydrate }).apply(null, arguments);
111
+ return (${ serialisedScript }).apply(null, parameters);
112
+ `);
113
+
114
+ const result = await this.inContextOfThisPage<Result>(async () => {
115
+
116
+ const dehydratedArguments = await this.dehydrator.dehydrate(args);
104
117
 
105
- const result = await this.inContextOfThisPage<Result>(() => {
106
- return this.browser.execute(script, ...innerArguments);
118
+ return await this.browser.execute(executableScript as any, ...dehydratedArguments);
107
119
  });
108
120
 
109
121
  this.lastScriptExecutionSummary = new LastScriptExecutionSummary(result);
@@ -115,17 +127,26 @@ export class WebdriverIOPage extends Page<WebdriverIO.Element> {
115
127
  script: string | ((...args: [...parameters: Parameters, callback: (result: Result) => void]) => void),
116
128
  ...args: Parameters
117
129
  ): Promise<Result> {
118
- const parameters = [] as Parameters;
119
- for (const arg of args) {
120
- const parameter = arg instanceof WebdriverIOPageElement
121
- ? await arg.nativeElement()
122
- : arg;
123
130
 
124
- parameters.push(parameter);
125
- }
131
+ const serialisedScript = typeof script === 'function'
132
+ ? String(script)
133
+ : String(`function script() { ${ script } }`);
134
+
135
+ const executableScript = new Function(`
136
+ var args = Array.prototype.slice.call(arguments, 0, -1);
137
+ var callback = arguments[arguments.length - 1];
138
+ var parameters = (${ scripts.rehydrate }).apply(null, args);
139
+ (${ serialisedScript }).apply(null, parameters.concat(callback));
140
+ `);
141
+
142
+ const result = await this.inContextOfThisPage<Result>(async () => {
143
+
144
+ const dehydratedArguments = await this.dehydrator.dehydrate(args);
126
145
 
127
- const result = await this.inContextOfThisPage<Result>(() => {
128
- return this.browser.executeAsync<Result, Parameters>(script, ...parameters);
146
+ return this.browser.executeAsync<Result, [ { argsCount: number, refsCount: number }, ...any[] ]>(
147
+ executableScript as (...args: [ { argsCount: number, refsCount: number }, ...any[], callback: (result: Result) => void ]) => void,
148
+ ...dehydratedArguments as [ { argsCount: number, refsCount: number }, ...any[] ],
149
+ );
129
150
  });
130
151
 
131
152
  this.lastScriptExecutionSummary = new LastScriptExecutionSummary(result);