@quickpickle/playwright 0.14.1 → 1.1.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/dist/PlaywrightWorld.cjs +74 -25
- package/dist/PlaywrightWorld.cjs.map +1 -1
- package/dist/PlaywrightWorld.d.ts +91 -4
- package/dist/PlaywrightWorld.mjs +75 -26
- package/dist/PlaywrightWorld.mjs.map +1 -1
- package/dist/actions.steps.cjs +81 -58
- package/dist/actions.steps.cjs.map +1 -1
- package/dist/actions.steps.mjs +81 -58
- package/dist/actions.steps.mjs.map +1 -1
- package/dist/outcomes.steps.cjs +60 -60
- package/dist/outcomes.steps.cjs.map +1 -1
- package/dist/outcomes.steps.mjs +60 -60
- package/dist/outcomes.steps.mjs.map +1 -1
- package/package.json +3 -4
package/dist/PlaywrightWorld.cjs
CHANGED
|
@@ -16,7 +16,7 @@ const defaultPlaywrightWorldConfig = {
|
|
|
16
16
|
slowMoTags: ['@slowmo'],
|
|
17
17
|
headless: true,
|
|
18
18
|
slowMo: false,
|
|
19
|
-
slowMoMs:
|
|
19
|
+
slowMoMs: 100,
|
|
20
20
|
keyboardDelay: 20,
|
|
21
21
|
defaultBrowser: 'chromium',
|
|
22
22
|
browserSizes: {
|
|
@@ -25,23 +25,64 @@ const defaultPlaywrightWorldConfig = {
|
|
|
25
25
|
desktop: '1920x1080',
|
|
26
26
|
widescreen: '3440x1440',
|
|
27
27
|
},
|
|
28
|
-
defaultBrowserSize: '
|
|
29
|
-
|
|
28
|
+
defaultBrowserSize: 'mobile',
|
|
29
|
+
defaultTimeout: 1000,
|
|
30
|
+
navigationTimeout: 3000,
|
|
30
31
|
};
|
|
31
32
|
class PlaywrightWorld extends quickpickle.VisualWorld {
|
|
32
33
|
constructor(context, info) {
|
|
33
34
|
super(context, info);
|
|
35
|
+
this.identities = new Map();
|
|
36
|
+
this._identity = 'default';
|
|
34
37
|
this.setConfig(info.config.worldConfig);
|
|
38
|
+
// Handle deprecated stepTimeout and timeout
|
|
39
|
+
if (info.config.worldConfig.stepTimeout && !info.config.worldConfig.defaultTimeout) {
|
|
40
|
+
info.config.worldConfig.defaultTimeout = info.config.worldConfig.stepTimeout;
|
|
41
|
+
}
|
|
35
42
|
}
|
|
36
43
|
async init() {
|
|
37
44
|
await super.init();
|
|
38
45
|
await this.startBrowser();
|
|
39
|
-
|
|
46
|
+
await this.newIdentity('default');
|
|
47
|
+
await this.setViewportSize();
|
|
48
|
+
}
|
|
49
|
+
get browserContext() {
|
|
50
|
+
return this.identities.get(this.identity).context;
|
|
51
|
+
}
|
|
52
|
+
get page() {
|
|
53
|
+
return this.identities.get(this.identity).page;
|
|
54
|
+
}
|
|
55
|
+
get identity() {
|
|
56
|
+
return this._identity;
|
|
57
|
+
}
|
|
58
|
+
set identity(name) {
|
|
59
|
+
if (this.identities.has(name))
|
|
60
|
+
this._identity = name;
|
|
61
|
+
else
|
|
62
|
+
throw new Error(`There is no browser for "${name}"; please call \`await world.setIdentity('${name}')\` instead.`);
|
|
63
|
+
}
|
|
64
|
+
async newIdentity(name) {
|
|
65
|
+
let context = await this.browser.newContext({
|
|
40
66
|
serviceWorkers: 'block',
|
|
41
67
|
javaScriptEnabled: this.tagsMatch(this.worldConfig.nojsTags) ? false : true,
|
|
42
68
|
});
|
|
43
|
-
|
|
44
|
-
|
|
69
|
+
// Set default timeouts on the context
|
|
70
|
+
context.setDefaultTimeout(this.worldConfig.actionTimeout || this.worldConfig.defaultTimeout);
|
|
71
|
+
context.setDefaultNavigationTimeout(this.worldConfig.navigationTimeout || this.worldConfig.defaultTimeout);
|
|
72
|
+
let page = await context.newPage();
|
|
73
|
+
if (name !== 'default') {
|
|
74
|
+
let url = this.identities.get('default').page.url();
|
|
75
|
+
await page.goto(url);
|
|
76
|
+
}
|
|
77
|
+
this.identities.set(name, {
|
|
78
|
+
context,
|
|
79
|
+
page
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
async setIdentity(name) {
|
|
83
|
+
if (!this.identities.has(name))
|
|
84
|
+
await this.newIdentity(name);
|
|
85
|
+
this._identity = name;
|
|
45
86
|
}
|
|
46
87
|
get browserName() {
|
|
47
88
|
return this.info.tags.find(t => t.match(/^@(?:chromium|firefox|webkit)$/))?.replace(/^@/, '') ?? this.worldConfig.defaultBrowser ?? 'chromium';
|
|
@@ -67,6 +108,10 @@ class PlaywrightWorld extends quickpickle.VisualWorld {
|
|
|
67
108
|
newConfig.slowMoMs = newConfig.slowMo;
|
|
68
109
|
newConfig.slowMo = newConfig.slowMoMs > 0;
|
|
69
110
|
}
|
|
111
|
+
// Migrate deprecated timeout properties to defaultTimeout
|
|
112
|
+
if (newConfig.stepTimeout && !newConfig.defaultTimeout) {
|
|
113
|
+
newConfig.defaultTimeout = newConfig.stepTimeout;
|
|
114
|
+
}
|
|
70
115
|
this.info.config.worldConfig = newConfig;
|
|
71
116
|
}
|
|
72
117
|
async setViewportSize(size) {
|
|
@@ -94,18 +139,17 @@ class PlaywrightWorld extends quickpickle.VisualWorld {
|
|
|
94
139
|
}
|
|
95
140
|
async reset(conf) {
|
|
96
141
|
let url = this.page.url() || this.baseUrl.toString();
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
if (conf) {
|
|
100
|
-
await this.browser.close();
|
|
101
|
-
await this.setConfig(conf);
|
|
102
|
-
await this.startBrowser();
|
|
142
|
+
for (let identity of this.identities.keys()) {
|
|
143
|
+
await this.identities.get(identity).context.close();
|
|
103
144
|
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
145
|
+
await this.browser.close();
|
|
146
|
+
if (conf)
|
|
147
|
+
await this.setConfig(conf);
|
|
148
|
+
await this.startBrowser();
|
|
149
|
+
this.identities = new Map();
|
|
150
|
+
await this.newIdentity('default');
|
|
151
|
+
this.identity = 'default';
|
|
152
|
+
await this.page.goto(url);
|
|
109
153
|
}
|
|
110
154
|
async close() {
|
|
111
155
|
await this.browser.close();
|
|
@@ -134,6 +178,8 @@ class PlaywrightWorld extends quickpickle.VisualWorld {
|
|
|
134
178
|
*/
|
|
135
179
|
getLocator(el, identifier, role, text = null) {
|
|
136
180
|
let locator;
|
|
181
|
+
if (!quickpickle.isAriaRoleExtended(role))
|
|
182
|
+
throw new Error(`Invalid ARIA role: ${role}`);
|
|
137
183
|
if (role === 'element')
|
|
138
184
|
locator = el.locator(identifier);
|
|
139
185
|
else if (role === 'input')
|
|
@@ -156,22 +202,22 @@ class PlaywrightWorld extends quickpickle.VisualWorld {
|
|
|
156
202
|
* @returns Promise<void>
|
|
157
203
|
*/
|
|
158
204
|
async setValue(locator, value) {
|
|
159
|
-
let { tag, type, role } = await locator.evaluate((el) => ({ tag: el.tagName.toLowerCase(), type: el.getAttribute('type')?.toLowerCase(), role: el.getAttribute('role')?.toLowerCase() }), undefined, { timeout: this.worldConfig.
|
|
205
|
+
let { tag, type, role } = await locator.evaluate((el) => ({ tag: el.tagName.toLowerCase(), type: el.getAttribute('type')?.toLowerCase(), role: el.getAttribute('role')?.toLowerCase() }), undefined, { timeout: this.worldConfig.actionTimeout || this.worldConfig.defaultTimeout });
|
|
160
206
|
if (!tag)
|
|
161
207
|
throw new Error(`Could not find element with locator: ${locator.toString()}`);
|
|
162
208
|
if (tag === 'select') {
|
|
163
209
|
let values = value.split(/\s*(?<!\\),\s*/).map((v) => v.replace(/\\,/g, ','));
|
|
164
|
-
await locator.selectOption(values
|
|
210
|
+
await locator.selectOption(values);
|
|
165
211
|
}
|
|
166
212
|
else if (type === 'checkbox' || type === 'radio' || role === 'checkbox') {
|
|
167
213
|
let check = !(['false', 'no', 'unchecked', '', 'null', 'undefined', '0'].includes(value.toString().toLowerCase()));
|
|
168
214
|
if (check)
|
|
169
|
-
await locator.check(
|
|
215
|
+
await locator.check();
|
|
170
216
|
else
|
|
171
|
-
await locator.uncheck(
|
|
217
|
+
await locator.uncheck();
|
|
172
218
|
}
|
|
173
219
|
else {
|
|
174
|
-
await locator.fill(value
|
|
220
|
+
await locator.fill(value);
|
|
175
221
|
}
|
|
176
222
|
}
|
|
177
223
|
/**
|
|
@@ -232,9 +278,9 @@ class PlaywrightWorld extends quickpickle.VisualWorld {
|
|
|
232
278
|
let visibleText = toBeVisible ? 'true' : '';
|
|
233
279
|
try {
|
|
234
280
|
if (toBePresent)
|
|
235
|
-
await test.expect(locator.locator(`visible=${visibleText}`).first()).toBeAttached(
|
|
281
|
+
await test.expect(locator.locator(`visible=${visibleText}`).first()).toBeAttached();
|
|
236
282
|
else
|
|
237
|
-
await test.expect(locator.locator(`visible=${visibleText}`)).toHaveCount(0
|
|
283
|
+
await test.expect(locator.locator(`visible=${visibleText}`)).toHaveCount(0);
|
|
238
284
|
}
|
|
239
285
|
catch (e) {
|
|
240
286
|
throw new Error(`The${toBeVisible ? '' : ' hidden'} element "${locator}" was unexpectedly ${toBePresent ? 'not present' : 'present'}.`);
|
|
@@ -336,7 +382,10 @@ function getDimensions(size) {
|
|
|
336
382
|
}
|
|
337
383
|
quickpickle.After({
|
|
338
384
|
f: async (world) => {
|
|
339
|
-
|
|
385
|
+
for (let identity of world.identities.keys()) {
|
|
386
|
+
await world.identities.get(identity).context.close();
|
|
387
|
+
}
|
|
388
|
+
await world.browser.close();
|
|
340
389
|
},
|
|
341
390
|
weight: 99,
|
|
342
391
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlaywrightWorld.cjs","sources":["../src/PlaywrightWorld.ts"],"sourcesContent":[null],"names":["chromium","firefox","webkit","VisualWorld","normalizeTags","expect","fs","After"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PlaywrightWorld.cjs","sources":["../src/PlaywrightWorld.ts"],"sourcesContent":[null],"names":["chromium","firefox","webkit","VisualWorld","normalizeTags","isAriaRoleExtended","expect","fs","After"],"mappings":"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"}
|
|
@@ -5,21 +5,97 @@ import { InfoConstructor } from 'quickpickle/dist/world';
|
|
|
5
5
|
import { Buffer } from 'buffer';
|
|
6
6
|
import { ScreenshotSetting } from './snapshotMatcher';
|
|
7
7
|
export type PlaywrightWorldConfigSetting = Partial<{
|
|
8
|
+
/**
|
|
9
|
+
* The host to connect to.
|
|
10
|
+
* @default http://localhost
|
|
11
|
+
*/
|
|
8
12
|
host: string;
|
|
13
|
+
/**
|
|
14
|
+
* The port to connect to.
|
|
15
|
+
* @default undefined
|
|
16
|
+
*/
|
|
9
17
|
port: number;
|
|
18
|
+
/**
|
|
19
|
+
* The directory in which to save screenshots.
|
|
20
|
+
* @default "screenshots"
|
|
21
|
+
*/
|
|
10
22
|
screenshotDir: string;
|
|
23
|
+
/**
|
|
24
|
+
* Options for the default screenshot comparisons.
|
|
25
|
+
* @default undefined
|
|
26
|
+
*/
|
|
11
27
|
screenshotOptions?: ScreenshotSetting;
|
|
28
|
+
/**
|
|
29
|
+
* Tags for scenarios to run without javascript.
|
|
30
|
+
* @default ["@nojs","@noscript"]
|
|
31
|
+
*/
|
|
12
32
|
nojsTags: string | string[];
|
|
33
|
+
/**
|
|
34
|
+
* Tags for scenarios to run with browser visible.
|
|
35
|
+
* @default ["@browser","@show-browser","@showbrowser"]
|
|
36
|
+
*/
|
|
13
37
|
showBrowserTags: string | string[];
|
|
38
|
+
/**
|
|
39
|
+
* Tags for scenarios to be run with slow motion enabled.
|
|
40
|
+
* @default ["@slowmo"]
|
|
41
|
+
*/
|
|
14
42
|
slowMoTags: string | string[];
|
|
43
|
+
/**
|
|
44
|
+
* Whether to run the browser in headless mode.
|
|
45
|
+
* @default true
|
|
46
|
+
*/
|
|
15
47
|
headless: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Whether to run the browser with slow motion enabled.
|
|
50
|
+
* @default false
|
|
51
|
+
*/
|
|
16
52
|
slowMo: boolean | number;
|
|
53
|
+
/**
|
|
54
|
+
* The number of milliseconds to slow down the browser by.
|
|
55
|
+
* @default 500
|
|
56
|
+
*/
|
|
17
57
|
slowMoMs: number;
|
|
58
|
+
/**
|
|
59
|
+
* The number of milliseconds between key presses.
|
|
60
|
+
* @default 20
|
|
61
|
+
*/
|
|
18
62
|
keyboardDelay: number;
|
|
63
|
+
/**
|
|
64
|
+
* The default browser to use.
|
|
65
|
+
* @default "chromium"
|
|
66
|
+
*/
|
|
19
67
|
defaultBrowser: 'chromium' | 'firefox' | 'webkit';
|
|
68
|
+
/**
|
|
69
|
+
* The default browser sizes to use, in the form "widthxheight".
|
|
70
|
+
* @default {mobile:"480x640",tablet:"1024x768",desktop:"1920x1080",widescreen:"3440x1440"}
|
|
71
|
+
*/
|
|
20
72
|
browserSizes: Record<string, string>;
|
|
73
|
+
/**
|
|
74
|
+
* The default browser size to use.
|
|
75
|
+
* @default "desktop"
|
|
76
|
+
*/
|
|
21
77
|
defaultBrowserSize: string;
|
|
78
|
+
/**
|
|
79
|
+
* @deprecated alias for defaultTimeout.
|
|
80
|
+
*/
|
|
22
81
|
stepTimeout: number;
|
|
82
|
+
/**
|
|
83
|
+
* The default timeout in milliseconds for all methods that accept a timeout option.
|
|
84
|
+
* This should always be lower than the QuickPickle stepTimeout, or After functions may fail to run.
|
|
85
|
+
* @default 1000
|
|
86
|
+
*/
|
|
87
|
+
defaultTimeout: number;
|
|
88
|
+
/**
|
|
89
|
+
* The default timeout in milliseconds for actions like click, fill, etc.
|
|
90
|
+
* If 0 or not set, uses defaultTimeout.
|
|
91
|
+
*/
|
|
92
|
+
actionTimeout: number;
|
|
93
|
+
/**
|
|
94
|
+
* The default timeout in milliseconds for navigation actions like goto, reload, etc.
|
|
95
|
+
* If 0 or not set, uses defaultTimeout.
|
|
96
|
+
* @default 3000
|
|
97
|
+
*/
|
|
98
|
+
navigationTimeout: number;
|
|
23
99
|
}>;
|
|
24
100
|
export declare const defaultPlaywrightWorldConfig: {
|
|
25
101
|
host: string;
|
|
@@ -39,18 +115,29 @@ export declare const defaultPlaywrightWorldConfig: {
|
|
|
39
115
|
widescreen: string;
|
|
40
116
|
};
|
|
41
117
|
defaultBrowserSize: string;
|
|
42
|
-
|
|
118
|
+
defaultTimeout: number;
|
|
119
|
+
navigationTimeout: number;
|
|
43
120
|
};
|
|
44
121
|
export type PlaywrightWorldConfig = typeof defaultPlaywrightWorldConfig & {
|
|
45
122
|
port?: number;
|
|
46
123
|
browserSizes: Record<string, string>;
|
|
47
124
|
};
|
|
125
|
+
export type BrowserMap = {
|
|
126
|
+
context: BrowserContext;
|
|
127
|
+
page: Page;
|
|
128
|
+
};
|
|
48
129
|
export declare class PlaywrightWorld extends VisualWorld implements VisualWorldInterface {
|
|
49
130
|
browser: Browser;
|
|
50
|
-
|
|
51
|
-
|
|
131
|
+
identities: Map<string, BrowserMap>;
|
|
132
|
+
_identity: string;
|
|
52
133
|
constructor(context: TestContext, info: InfoConstructor);
|
|
53
134
|
init(): Promise<void>;
|
|
135
|
+
get browserContext(): BrowserContext;
|
|
136
|
+
get page(): Page;
|
|
137
|
+
get identity(): string;
|
|
138
|
+
set identity(name: string);
|
|
139
|
+
newIdentity(name: string): Promise<void>;
|
|
140
|
+
setIdentity(name: string): Promise<void>;
|
|
54
141
|
get browserName(): "chromium" | "firefox" | "webkit";
|
|
55
142
|
get browserSize(): {
|
|
56
143
|
width: number;
|
|
@@ -78,7 +165,7 @@ export declare class PlaywrightWorld extends VisualWorld implements VisualWorldI
|
|
|
78
165
|
* @param text Optional text to match inside the locator
|
|
79
166
|
* @returns Promise<void>
|
|
80
167
|
*/
|
|
81
|
-
getLocator(el: Locator | Page, identifier: string, role: AriaRoleExtended, text?: string | null): Locator;
|
|
168
|
+
getLocator(el: Locator | Page, identifier: string, role: AriaRoleExtended | string, text?: string | null): Locator;
|
|
82
169
|
/**
|
|
83
170
|
* Sets a value on a form element based on its type (select, checkbox/radio, or other input)
|
|
84
171
|
* @example setValue(locator, "Option 1, Option 2") => Selects multiple options in a select element
|
package/dist/PlaywrightWorld.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { webkit, firefox, chromium } from 'playwright';
|
|
2
|
-
import { After, VisualWorld, normalizeTags } from 'quickpickle';
|
|
2
|
+
import { After, VisualWorld, normalizeTags, isAriaRoleExtended } from 'quickpickle';
|
|
3
3
|
import { defaultsDeep, cloneDeep } from 'lodash-es';
|
|
4
4
|
import { promises } from 'node:fs';
|
|
5
5
|
import { expect } from '@playwright/test';
|
|
@@ -13,7 +13,7 @@ const defaultPlaywrightWorldConfig = {
|
|
|
13
13
|
slowMoTags: ['@slowmo'],
|
|
14
14
|
headless: true,
|
|
15
15
|
slowMo: false,
|
|
16
|
-
slowMoMs:
|
|
16
|
+
slowMoMs: 100,
|
|
17
17
|
keyboardDelay: 20,
|
|
18
18
|
defaultBrowser: 'chromium',
|
|
19
19
|
browserSizes: {
|
|
@@ -22,23 +22,64 @@ const defaultPlaywrightWorldConfig = {
|
|
|
22
22
|
desktop: '1920x1080',
|
|
23
23
|
widescreen: '3440x1440',
|
|
24
24
|
},
|
|
25
|
-
defaultBrowserSize: '
|
|
26
|
-
|
|
25
|
+
defaultBrowserSize: 'mobile',
|
|
26
|
+
defaultTimeout: 1000,
|
|
27
|
+
navigationTimeout: 3000,
|
|
27
28
|
};
|
|
28
29
|
class PlaywrightWorld extends VisualWorld {
|
|
29
30
|
constructor(context, info) {
|
|
30
31
|
super(context, info);
|
|
32
|
+
this.identities = new Map();
|
|
33
|
+
this._identity = 'default';
|
|
31
34
|
this.setConfig(info.config.worldConfig);
|
|
35
|
+
// Handle deprecated stepTimeout and timeout
|
|
36
|
+
if (info.config.worldConfig.stepTimeout && !info.config.worldConfig.defaultTimeout) {
|
|
37
|
+
info.config.worldConfig.defaultTimeout = info.config.worldConfig.stepTimeout;
|
|
38
|
+
}
|
|
32
39
|
}
|
|
33
40
|
async init() {
|
|
34
41
|
await super.init();
|
|
35
42
|
await this.startBrowser();
|
|
36
|
-
|
|
43
|
+
await this.newIdentity('default');
|
|
44
|
+
await this.setViewportSize();
|
|
45
|
+
}
|
|
46
|
+
get browserContext() {
|
|
47
|
+
return this.identities.get(this.identity).context;
|
|
48
|
+
}
|
|
49
|
+
get page() {
|
|
50
|
+
return this.identities.get(this.identity).page;
|
|
51
|
+
}
|
|
52
|
+
get identity() {
|
|
53
|
+
return this._identity;
|
|
54
|
+
}
|
|
55
|
+
set identity(name) {
|
|
56
|
+
if (this.identities.has(name))
|
|
57
|
+
this._identity = name;
|
|
58
|
+
else
|
|
59
|
+
throw new Error(`There is no browser for "${name}"; please call \`await world.setIdentity('${name}')\` instead.`);
|
|
60
|
+
}
|
|
61
|
+
async newIdentity(name) {
|
|
62
|
+
let context = await this.browser.newContext({
|
|
37
63
|
serviceWorkers: 'block',
|
|
38
64
|
javaScriptEnabled: this.tagsMatch(this.worldConfig.nojsTags) ? false : true,
|
|
39
65
|
});
|
|
40
|
-
|
|
41
|
-
|
|
66
|
+
// Set default timeouts on the context
|
|
67
|
+
context.setDefaultTimeout(this.worldConfig.actionTimeout || this.worldConfig.defaultTimeout);
|
|
68
|
+
context.setDefaultNavigationTimeout(this.worldConfig.navigationTimeout || this.worldConfig.defaultTimeout);
|
|
69
|
+
let page = await context.newPage();
|
|
70
|
+
if (name !== 'default') {
|
|
71
|
+
let url = this.identities.get('default').page.url();
|
|
72
|
+
await page.goto(url);
|
|
73
|
+
}
|
|
74
|
+
this.identities.set(name, {
|
|
75
|
+
context,
|
|
76
|
+
page
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
async setIdentity(name) {
|
|
80
|
+
if (!this.identities.has(name))
|
|
81
|
+
await this.newIdentity(name);
|
|
82
|
+
this._identity = name;
|
|
42
83
|
}
|
|
43
84
|
get browserName() {
|
|
44
85
|
return this.info.tags.find(t => t.match(/^@(?:chromium|firefox|webkit)$/))?.replace(/^@/, '') ?? this.worldConfig.defaultBrowser ?? 'chromium';
|
|
@@ -64,6 +105,10 @@ class PlaywrightWorld extends VisualWorld {
|
|
|
64
105
|
newConfig.slowMoMs = newConfig.slowMo;
|
|
65
106
|
newConfig.slowMo = newConfig.slowMoMs > 0;
|
|
66
107
|
}
|
|
108
|
+
// Migrate deprecated timeout properties to defaultTimeout
|
|
109
|
+
if (newConfig.stepTimeout && !newConfig.defaultTimeout) {
|
|
110
|
+
newConfig.defaultTimeout = newConfig.stepTimeout;
|
|
111
|
+
}
|
|
67
112
|
this.info.config.worldConfig = newConfig;
|
|
68
113
|
}
|
|
69
114
|
async setViewportSize(size) {
|
|
@@ -91,18 +136,17 @@ class PlaywrightWorld extends VisualWorld {
|
|
|
91
136
|
}
|
|
92
137
|
async reset(conf) {
|
|
93
138
|
let url = this.page.url() || this.baseUrl.toString();
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
if (conf) {
|
|
97
|
-
await this.browser.close();
|
|
98
|
-
await this.setConfig(conf);
|
|
99
|
-
await this.startBrowser();
|
|
139
|
+
for (let identity of this.identities.keys()) {
|
|
140
|
+
await this.identities.get(identity).context.close();
|
|
100
141
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
142
|
+
await this.browser.close();
|
|
143
|
+
if (conf)
|
|
144
|
+
await this.setConfig(conf);
|
|
145
|
+
await this.startBrowser();
|
|
146
|
+
this.identities = new Map();
|
|
147
|
+
await this.newIdentity('default');
|
|
148
|
+
this.identity = 'default';
|
|
149
|
+
await this.page.goto(url);
|
|
106
150
|
}
|
|
107
151
|
async close() {
|
|
108
152
|
await this.browser.close();
|
|
@@ -131,6 +175,8 @@ class PlaywrightWorld extends VisualWorld {
|
|
|
131
175
|
*/
|
|
132
176
|
getLocator(el, identifier, role, text = null) {
|
|
133
177
|
let locator;
|
|
178
|
+
if (!isAriaRoleExtended(role))
|
|
179
|
+
throw new Error(`Invalid ARIA role: ${role}`);
|
|
134
180
|
if (role === 'element')
|
|
135
181
|
locator = el.locator(identifier);
|
|
136
182
|
else if (role === 'input')
|
|
@@ -153,22 +199,22 @@ class PlaywrightWorld extends VisualWorld {
|
|
|
153
199
|
* @returns Promise<void>
|
|
154
200
|
*/
|
|
155
201
|
async setValue(locator, value) {
|
|
156
|
-
let { tag, type, role } = await locator.evaluate((el) => ({ tag: el.tagName.toLowerCase(), type: el.getAttribute('type')?.toLowerCase(), role: el.getAttribute('role')?.toLowerCase() }), undefined, { timeout: this.worldConfig.
|
|
202
|
+
let { tag, type, role } = await locator.evaluate((el) => ({ tag: el.tagName.toLowerCase(), type: el.getAttribute('type')?.toLowerCase(), role: el.getAttribute('role')?.toLowerCase() }), undefined, { timeout: this.worldConfig.actionTimeout || this.worldConfig.defaultTimeout });
|
|
157
203
|
if (!tag)
|
|
158
204
|
throw new Error(`Could not find element with locator: ${locator.toString()}`);
|
|
159
205
|
if (tag === 'select') {
|
|
160
206
|
let values = value.split(/\s*(?<!\\),\s*/).map((v) => v.replace(/\\,/g, ','));
|
|
161
|
-
await locator.selectOption(values
|
|
207
|
+
await locator.selectOption(values);
|
|
162
208
|
}
|
|
163
209
|
else if (type === 'checkbox' || type === 'radio' || role === 'checkbox') {
|
|
164
210
|
let check = !(['false', 'no', 'unchecked', '', 'null', 'undefined', '0'].includes(value.toString().toLowerCase()));
|
|
165
211
|
if (check)
|
|
166
|
-
await locator.check(
|
|
212
|
+
await locator.check();
|
|
167
213
|
else
|
|
168
|
-
await locator.uncheck(
|
|
214
|
+
await locator.uncheck();
|
|
169
215
|
}
|
|
170
216
|
else {
|
|
171
|
-
await locator.fill(value
|
|
217
|
+
await locator.fill(value);
|
|
172
218
|
}
|
|
173
219
|
}
|
|
174
220
|
/**
|
|
@@ -229,9 +275,9 @@ class PlaywrightWorld extends VisualWorld {
|
|
|
229
275
|
let visibleText = toBeVisible ? 'true' : '';
|
|
230
276
|
try {
|
|
231
277
|
if (toBePresent)
|
|
232
|
-
await expect(locator.locator(`visible=${visibleText}`).first()).toBeAttached(
|
|
278
|
+
await expect(locator.locator(`visible=${visibleText}`).first()).toBeAttached();
|
|
233
279
|
else
|
|
234
|
-
await expect(locator.locator(`visible=${visibleText}`)).toHaveCount(0
|
|
280
|
+
await expect(locator.locator(`visible=${visibleText}`)).toHaveCount(0);
|
|
235
281
|
}
|
|
236
282
|
catch (e) {
|
|
237
283
|
throw new Error(`The${toBeVisible ? '' : ' hidden'} element "${locator}" was unexpectedly ${toBePresent ? 'not present' : 'present'}.`);
|
|
@@ -333,7 +379,10 @@ function getDimensions(size) {
|
|
|
333
379
|
}
|
|
334
380
|
After({
|
|
335
381
|
f: async (world) => {
|
|
336
|
-
|
|
382
|
+
for (let identity of world.identities.keys()) {
|
|
383
|
+
await world.identities.get(identity).context.close();
|
|
384
|
+
}
|
|
385
|
+
await world.browser.close();
|
|
337
386
|
},
|
|
338
387
|
weight: 99,
|
|
339
388
|
});
|