@quickpickle/playwright 1.0.0 → 1.2.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/README.md +5 -0
- package/dist/PlaywrightWorld.cjs +31 -12
- package/dist/PlaywrightWorld.cjs.map +1 -1
- package/dist/PlaywrightWorld.d.ts +97 -2
- package/dist/PlaywrightWorld.mjs +32 -13
- package/dist/PlaywrightWorld.mjs.map +1 -1
- package/dist/actions.steps.cjs +66 -66
- package/dist/actions.steps.cjs.map +1 -1
- package/dist/actions.steps.mjs +66 -66
- package/dist/actions.steps.mjs.map +1 -1
- package/dist/outcomes.steps.cjs +73 -60
- package/dist/outcomes.steps.cjs.map +1 -1
- package/dist/outcomes.steps.mjs +73 -60
- package/dist/outcomes.steps.mjs.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -118,6 +118,7 @@ export default {
|
|
|
118
118
|
// General quickpickle configuration
|
|
119
119
|
explodeTags: [
|
|
120
120
|
['nojs','js'],
|
|
121
|
+
['dark','light'],
|
|
121
122
|
['chromium','firefox','webkit'],
|
|
122
123
|
['mobile','tablet','desktop','widescreen'],
|
|
123
124
|
],
|
|
@@ -140,6 +141,7 @@ export default {
|
|
|
140
141
|
// General quickpickle configuration
|
|
141
142
|
explodeTags: [
|
|
142
143
|
['nojs','js'],
|
|
144
|
+
['dark','light'],
|
|
143
145
|
['chromium','firefox','webkit'],
|
|
144
146
|
['mobile','tablet','desktop','widescreen'],
|
|
145
147
|
],
|
|
@@ -165,6 +167,8 @@ export type PlaywrightWorldConfigSetting = Partial<{
|
|
|
165
167
|
nojsTags: string|string[] // tags for scenarios to run without javascript (default: @nojs, @noscript)
|
|
166
168
|
showBrowserTags: string|string[] // tags for scenarios to run with browser visible (default: @browser, @show-browser, @showbrowser)
|
|
167
169
|
slowMoTags: string|string[] // tags for scenarios to be run with slow motion enabled (default: @slowmo)
|
|
170
|
+
darkModeTags: string|string[] // tags for scenarios to run in dark mode (default: @dark)
|
|
171
|
+
lightModeTags: string|string[] // tags for scenarios to run in light mode (default: @light)
|
|
168
172
|
headless: boolean // whether to run the browser in headless mode (default true)
|
|
169
173
|
slowMo: boolean|number // whether to run the browser with slow motion enabled (default false)
|
|
170
174
|
slowMoMs: number // the number of milliseconds to slow down the browser by (default 500)
|
|
@@ -173,6 +177,7 @@ export type PlaywrightWorldConfigSetting = Partial<{
|
|
|
173
177
|
browserSizes: Record<string,string> // the default browser sizes to use, in the form "widthxheight"
|
|
174
178
|
// (default: { mobile: "480x640", tablet: "1024x768", desktop: "1920x1080", widescreen: "3440x1440" })
|
|
175
179
|
defaultBrowserSize: string // the default browser size to use (default: desktop)
|
|
180
|
+
accessibilityExcludes: string|string[] // any elements to exclude from accessibility testing
|
|
176
181
|
}>
|
|
177
182
|
```
|
|
178
183
|
|
package/dist/PlaywrightWorld.cjs
CHANGED
|
@@ -14,9 +14,11 @@ const defaultPlaywrightWorldConfig = {
|
|
|
14
14
|
nojsTags: ['@nojs', '@noscript'],
|
|
15
15
|
showBrowserTags: ['@browser', '@show-browser', '@showbrowser'],
|
|
16
16
|
slowMoTags: ['@slowmo'],
|
|
17
|
+
darkModeTags: ['@dark'],
|
|
18
|
+
lightModeTags: ['@light'],
|
|
17
19
|
headless: true,
|
|
18
20
|
slowMo: false,
|
|
19
|
-
slowMoMs:
|
|
21
|
+
slowMoMs: 100,
|
|
20
22
|
keyboardDelay: 20,
|
|
21
23
|
defaultBrowser: 'chromium',
|
|
22
24
|
browserSizes: {
|
|
@@ -25,8 +27,9 @@ const defaultPlaywrightWorldConfig = {
|
|
|
25
27
|
desktop: '1920x1080',
|
|
26
28
|
widescreen: '3440x1440',
|
|
27
29
|
},
|
|
28
|
-
defaultBrowserSize: '
|
|
29
|
-
|
|
30
|
+
defaultBrowserSize: 'mobile',
|
|
31
|
+
defaultTimeout: 1000,
|
|
32
|
+
navigationTimeout: 3000,
|
|
30
33
|
};
|
|
31
34
|
class PlaywrightWorld extends quickpickle.VisualWorld {
|
|
32
35
|
constructor(context, info) {
|
|
@@ -34,6 +37,10 @@ class PlaywrightWorld extends quickpickle.VisualWorld {
|
|
|
34
37
|
this.identities = new Map();
|
|
35
38
|
this._identity = 'default';
|
|
36
39
|
this.setConfig(info.config.worldConfig);
|
|
40
|
+
// Handle deprecated stepTimeout and timeout
|
|
41
|
+
if (info.config.worldConfig.stepTimeout && !info.config.worldConfig.defaultTimeout) {
|
|
42
|
+
info.config.worldConfig.defaultTimeout = info.config.worldConfig.stepTimeout;
|
|
43
|
+
}
|
|
37
44
|
}
|
|
38
45
|
async init() {
|
|
39
46
|
await super.init();
|
|
@@ -61,10 +68,16 @@ class PlaywrightWorld extends quickpickle.VisualWorld {
|
|
|
61
68
|
serviceWorkers: 'block',
|
|
62
69
|
javaScriptEnabled: this.tagsMatch(this.worldConfig.nojsTags) ? false : true,
|
|
63
70
|
});
|
|
71
|
+
// Set default timeouts on the context
|
|
72
|
+
context.setDefaultTimeout(this.worldConfig.actionTimeout || this.worldConfig.defaultTimeout);
|
|
73
|
+
context.setDefaultNavigationTimeout(this.worldConfig.navigationTimeout || this.worldConfig.defaultTimeout);
|
|
64
74
|
let page = await context.newPage();
|
|
75
|
+
if (this.tagsMatch(this.worldConfig.darkModeTags)) {
|
|
76
|
+
await page.emulateMedia({ colorScheme: 'dark' });
|
|
77
|
+
}
|
|
65
78
|
if (name !== 'default') {
|
|
66
79
|
let url = this.identities.get('default').page.url();
|
|
67
|
-
await page.goto(url
|
|
80
|
+
await page.goto(url);
|
|
68
81
|
}
|
|
69
82
|
this.identities.set(name, {
|
|
70
83
|
context,
|
|
@@ -100,6 +113,10 @@ class PlaywrightWorld extends quickpickle.VisualWorld {
|
|
|
100
113
|
newConfig.slowMoMs = newConfig.slowMo;
|
|
101
114
|
newConfig.slowMo = newConfig.slowMoMs > 0;
|
|
102
115
|
}
|
|
116
|
+
// Migrate deprecated timeout properties to defaultTimeout
|
|
117
|
+
if (newConfig.stepTimeout && !newConfig.defaultTimeout) {
|
|
118
|
+
newConfig.defaultTimeout = newConfig.stepTimeout;
|
|
119
|
+
}
|
|
103
120
|
this.info.config.worldConfig = newConfig;
|
|
104
121
|
}
|
|
105
122
|
async setViewportSize(size) {
|
|
@@ -137,7 +154,7 @@ class PlaywrightWorld extends quickpickle.VisualWorld {
|
|
|
137
154
|
this.identities = new Map();
|
|
138
155
|
await this.newIdentity('default');
|
|
139
156
|
this.identity = 'default';
|
|
140
|
-
await this.page.goto(url
|
|
157
|
+
await this.page.goto(url);
|
|
141
158
|
}
|
|
142
159
|
async close() {
|
|
143
160
|
await this.browser.close();
|
|
@@ -166,6 +183,8 @@ class PlaywrightWorld extends quickpickle.VisualWorld {
|
|
|
166
183
|
*/
|
|
167
184
|
getLocator(el, identifier, role, text = null) {
|
|
168
185
|
let locator;
|
|
186
|
+
if (!quickpickle.isAriaRoleExtended(role))
|
|
187
|
+
throw new Error(`Invalid ARIA role: ${role}`);
|
|
169
188
|
if (role === 'element')
|
|
170
189
|
locator = el.locator(identifier);
|
|
171
190
|
else if (role === 'input')
|
|
@@ -188,22 +207,22 @@ class PlaywrightWorld extends quickpickle.VisualWorld {
|
|
|
188
207
|
* @returns Promise<void>
|
|
189
208
|
*/
|
|
190
209
|
async setValue(locator, value) {
|
|
191
|
-
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.
|
|
210
|
+
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 });
|
|
192
211
|
if (!tag)
|
|
193
212
|
throw new Error(`Could not find element with locator: ${locator.toString()}`);
|
|
194
213
|
if (tag === 'select') {
|
|
195
214
|
let values = value.split(/\s*(?<!\\),\s*/).map((v) => v.replace(/\\,/g, ','));
|
|
196
|
-
await locator.selectOption(values
|
|
215
|
+
await locator.selectOption(values);
|
|
197
216
|
}
|
|
198
217
|
else if (type === 'checkbox' || type === 'radio' || role === 'checkbox') {
|
|
199
218
|
let check = !(['false', 'no', 'unchecked', '', 'null', 'undefined', '0'].includes(value.toString().toLowerCase()));
|
|
200
219
|
if (check)
|
|
201
|
-
await locator.check(
|
|
220
|
+
await locator.check();
|
|
202
221
|
else
|
|
203
|
-
await locator.uncheck(
|
|
222
|
+
await locator.uncheck();
|
|
204
223
|
}
|
|
205
224
|
else {
|
|
206
|
-
await locator.fill(value
|
|
225
|
+
await locator.fill(value);
|
|
207
226
|
}
|
|
208
227
|
}
|
|
209
228
|
/**
|
|
@@ -264,9 +283,9 @@ class PlaywrightWorld extends quickpickle.VisualWorld {
|
|
|
264
283
|
let visibleText = toBeVisible ? 'true' : '';
|
|
265
284
|
try {
|
|
266
285
|
if (toBePresent)
|
|
267
|
-
await test.expect(locator.locator(`visible=${visibleText}`).first()).toBeAttached(
|
|
286
|
+
await test.expect(locator.locator(`visible=${visibleText}`).first()).toBeAttached();
|
|
268
287
|
else
|
|
269
|
-
await test.expect(locator.locator(`visible=${visibleText}`)).toHaveCount(0
|
|
288
|
+
await test.expect(locator.locator(`visible=${visibleText}`)).toHaveCount(0);
|
|
270
289
|
}
|
|
271
290
|
catch (e) {
|
|
272
291
|
throw new Error(`The${toBeVisible ? '' : ' hidden'} element "${locator}" was unexpectedly ${toBePresent ? 'not present' : 'present'}.`);
|
|
@@ -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,112 @@ 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
|
+
* Tags for scenarios to run with dark mode enabled.
|
|
45
|
+
* @default ["@dark"]
|
|
46
|
+
*/
|
|
47
|
+
darkModeTags: string | string[];
|
|
48
|
+
/**
|
|
49
|
+
* Tags for scenarios to run with light mode enabled.
|
|
50
|
+
* @default ["@light"]
|
|
51
|
+
*/
|
|
52
|
+
lightModeTags: string | string[];
|
|
53
|
+
/**
|
|
54
|
+
* Whether to run the browser in headless mode.
|
|
55
|
+
* @default true
|
|
56
|
+
*/
|
|
15
57
|
headless: boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Whether to run the browser with slow motion enabled.
|
|
60
|
+
* @default false
|
|
61
|
+
*/
|
|
16
62
|
slowMo: boolean | number;
|
|
63
|
+
/**
|
|
64
|
+
* The number of milliseconds to slow down the browser by.
|
|
65
|
+
* @default 500
|
|
66
|
+
*/
|
|
17
67
|
slowMoMs: number;
|
|
68
|
+
/**
|
|
69
|
+
* The number of milliseconds between key presses.
|
|
70
|
+
* @default 20
|
|
71
|
+
*/
|
|
18
72
|
keyboardDelay: number;
|
|
73
|
+
/**
|
|
74
|
+
* The default browser to use.
|
|
75
|
+
* @default "chromium"
|
|
76
|
+
*/
|
|
19
77
|
defaultBrowser: 'chromium' | 'firefox' | 'webkit';
|
|
78
|
+
/**
|
|
79
|
+
* The default browser sizes to use, in the form "widthxheight".
|
|
80
|
+
* @default {mobile:"480x640",tablet:"1024x768",desktop:"1920x1080",widescreen:"3440x1440"}
|
|
81
|
+
*/
|
|
20
82
|
browserSizes: Record<string, string>;
|
|
83
|
+
/**
|
|
84
|
+
* The default browser size to use.
|
|
85
|
+
* @default "desktop"
|
|
86
|
+
*/
|
|
21
87
|
defaultBrowserSize: string;
|
|
88
|
+
/**
|
|
89
|
+
* @deprecated alias for defaultTimeout.
|
|
90
|
+
*/
|
|
22
91
|
stepTimeout: number;
|
|
92
|
+
/**
|
|
93
|
+
* The default timeout in milliseconds for all methods that accept a timeout option.
|
|
94
|
+
* This should always be lower than the QuickPickle stepTimeout, or After functions may fail to run.
|
|
95
|
+
* @default 1000
|
|
96
|
+
*/
|
|
97
|
+
defaultTimeout: number;
|
|
98
|
+
/**
|
|
99
|
+
* The default timeout in milliseconds for actions like click, fill, etc.
|
|
100
|
+
* If 0 or not set, uses defaultTimeout.
|
|
101
|
+
*/
|
|
102
|
+
actionTimeout: number;
|
|
103
|
+
/**
|
|
104
|
+
* The default timeout in milliseconds for navigation actions like goto, reload, etc.
|
|
105
|
+
* If 0 or not set, uses defaultTimeout.
|
|
106
|
+
* @default 3000
|
|
107
|
+
*/
|
|
108
|
+
navigationTimeout: number;
|
|
109
|
+
/**
|
|
110
|
+
* Elements to exclude during accessibility tests.
|
|
111
|
+
* @default []
|
|
112
|
+
*/
|
|
113
|
+
accessibilityExcludes: string | string[];
|
|
23
114
|
}>;
|
|
24
115
|
export declare const defaultPlaywrightWorldConfig: {
|
|
25
116
|
host: string;
|
|
@@ -27,6 +118,8 @@ export declare const defaultPlaywrightWorldConfig: {
|
|
|
27
118
|
nojsTags: string[];
|
|
28
119
|
showBrowserTags: string[];
|
|
29
120
|
slowMoTags: string[];
|
|
121
|
+
darkModeTags: string[];
|
|
122
|
+
lightModeTags: string[];
|
|
30
123
|
headless: boolean;
|
|
31
124
|
slowMo: boolean;
|
|
32
125
|
slowMoMs: number;
|
|
@@ -39,11 +132,13 @@ export declare const defaultPlaywrightWorldConfig: {
|
|
|
39
132
|
widescreen: string;
|
|
40
133
|
};
|
|
41
134
|
defaultBrowserSize: string;
|
|
42
|
-
|
|
135
|
+
defaultTimeout: number;
|
|
136
|
+
navigationTimeout: number;
|
|
43
137
|
};
|
|
44
138
|
export type PlaywrightWorldConfig = typeof defaultPlaywrightWorldConfig & {
|
|
45
139
|
port?: number;
|
|
46
140
|
browserSizes: Record<string, string>;
|
|
141
|
+
accessibilityExcludes: string | string[];
|
|
47
142
|
};
|
|
48
143
|
export type BrowserMap = {
|
|
49
144
|
context: BrowserContext;
|
|
@@ -88,7 +183,7 @@ export declare class PlaywrightWorld extends VisualWorld implements VisualWorldI
|
|
|
88
183
|
* @param text Optional text to match inside the locator
|
|
89
184
|
* @returns Promise<void>
|
|
90
185
|
*/
|
|
91
|
-
getLocator(el: Locator | Page, identifier: string, role: AriaRoleExtended, text?: string | null): Locator;
|
|
186
|
+
getLocator(el: Locator | Page, identifier: string, role: AriaRoleExtended | string, text?: string | null): Locator;
|
|
92
187
|
/**
|
|
93
188
|
* Sets a value on a form element based on its type (select, checkbox/radio, or other input)
|
|
94
189
|
* @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';
|
|
@@ -11,9 +11,11 @@ const defaultPlaywrightWorldConfig = {
|
|
|
11
11
|
nojsTags: ['@nojs', '@noscript'],
|
|
12
12
|
showBrowserTags: ['@browser', '@show-browser', '@showbrowser'],
|
|
13
13
|
slowMoTags: ['@slowmo'],
|
|
14
|
+
darkModeTags: ['@dark'],
|
|
15
|
+
lightModeTags: ['@light'],
|
|
14
16
|
headless: true,
|
|
15
17
|
slowMo: false,
|
|
16
|
-
slowMoMs:
|
|
18
|
+
slowMoMs: 100,
|
|
17
19
|
keyboardDelay: 20,
|
|
18
20
|
defaultBrowser: 'chromium',
|
|
19
21
|
browserSizes: {
|
|
@@ -22,8 +24,9 @@ const defaultPlaywrightWorldConfig = {
|
|
|
22
24
|
desktop: '1920x1080',
|
|
23
25
|
widescreen: '3440x1440',
|
|
24
26
|
},
|
|
25
|
-
defaultBrowserSize: '
|
|
26
|
-
|
|
27
|
+
defaultBrowserSize: 'mobile',
|
|
28
|
+
defaultTimeout: 1000,
|
|
29
|
+
navigationTimeout: 3000,
|
|
27
30
|
};
|
|
28
31
|
class PlaywrightWorld extends VisualWorld {
|
|
29
32
|
constructor(context, info) {
|
|
@@ -31,6 +34,10 @@ class PlaywrightWorld extends VisualWorld {
|
|
|
31
34
|
this.identities = new Map();
|
|
32
35
|
this._identity = 'default';
|
|
33
36
|
this.setConfig(info.config.worldConfig);
|
|
37
|
+
// Handle deprecated stepTimeout and timeout
|
|
38
|
+
if (info.config.worldConfig.stepTimeout && !info.config.worldConfig.defaultTimeout) {
|
|
39
|
+
info.config.worldConfig.defaultTimeout = info.config.worldConfig.stepTimeout;
|
|
40
|
+
}
|
|
34
41
|
}
|
|
35
42
|
async init() {
|
|
36
43
|
await super.init();
|
|
@@ -58,10 +65,16 @@ class PlaywrightWorld extends VisualWorld {
|
|
|
58
65
|
serviceWorkers: 'block',
|
|
59
66
|
javaScriptEnabled: this.tagsMatch(this.worldConfig.nojsTags) ? false : true,
|
|
60
67
|
});
|
|
68
|
+
// Set default timeouts on the context
|
|
69
|
+
context.setDefaultTimeout(this.worldConfig.actionTimeout || this.worldConfig.defaultTimeout);
|
|
70
|
+
context.setDefaultNavigationTimeout(this.worldConfig.navigationTimeout || this.worldConfig.defaultTimeout);
|
|
61
71
|
let page = await context.newPage();
|
|
72
|
+
if (this.tagsMatch(this.worldConfig.darkModeTags)) {
|
|
73
|
+
await page.emulateMedia({ colorScheme: 'dark' });
|
|
74
|
+
}
|
|
62
75
|
if (name !== 'default') {
|
|
63
76
|
let url = this.identities.get('default').page.url();
|
|
64
|
-
await page.goto(url
|
|
77
|
+
await page.goto(url);
|
|
65
78
|
}
|
|
66
79
|
this.identities.set(name, {
|
|
67
80
|
context,
|
|
@@ -97,6 +110,10 @@ class PlaywrightWorld extends VisualWorld {
|
|
|
97
110
|
newConfig.slowMoMs = newConfig.slowMo;
|
|
98
111
|
newConfig.slowMo = newConfig.slowMoMs > 0;
|
|
99
112
|
}
|
|
113
|
+
// Migrate deprecated timeout properties to defaultTimeout
|
|
114
|
+
if (newConfig.stepTimeout && !newConfig.defaultTimeout) {
|
|
115
|
+
newConfig.defaultTimeout = newConfig.stepTimeout;
|
|
116
|
+
}
|
|
100
117
|
this.info.config.worldConfig = newConfig;
|
|
101
118
|
}
|
|
102
119
|
async setViewportSize(size) {
|
|
@@ -134,7 +151,7 @@ class PlaywrightWorld extends VisualWorld {
|
|
|
134
151
|
this.identities = new Map();
|
|
135
152
|
await this.newIdentity('default');
|
|
136
153
|
this.identity = 'default';
|
|
137
|
-
await this.page.goto(url
|
|
154
|
+
await this.page.goto(url);
|
|
138
155
|
}
|
|
139
156
|
async close() {
|
|
140
157
|
await this.browser.close();
|
|
@@ -163,6 +180,8 @@ class PlaywrightWorld extends VisualWorld {
|
|
|
163
180
|
*/
|
|
164
181
|
getLocator(el, identifier, role, text = null) {
|
|
165
182
|
let locator;
|
|
183
|
+
if (!isAriaRoleExtended(role))
|
|
184
|
+
throw new Error(`Invalid ARIA role: ${role}`);
|
|
166
185
|
if (role === 'element')
|
|
167
186
|
locator = el.locator(identifier);
|
|
168
187
|
else if (role === 'input')
|
|
@@ -185,22 +204,22 @@ class PlaywrightWorld extends VisualWorld {
|
|
|
185
204
|
* @returns Promise<void>
|
|
186
205
|
*/
|
|
187
206
|
async setValue(locator, value) {
|
|
188
|
-
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.
|
|
207
|
+
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 });
|
|
189
208
|
if (!tag)
|
|
190
209
|
throw new Error(`Could not find element with locator: ${locator.toString()}`);
|
|
191
210
|
if (tag === 'select') {
|
|
192
211
|
let values = value.split(/\s*(?<!\\),\s*/).map((v) => v.replace(/\\,/g, ','));
|
|
193
|
-
await locator.selectOption(values
|
|
212
|
+
await locator.selectOption(values);
|
|
194
213
|
}
|
|
195
214
|
else if (type === 'checkbox' || type === 'radio' || role === 'checkbox') {
|
|
196
215
|
let check = !(['false', 'no', 'unchecked', '', 'null', 'undefined', '0'].includes(value.toString().toLowerCase()));
|
|
197
216
|
if (check)
|
|
198
|
-
await locator.check(
|
|
217
|
+
await locator.check();
|
|
199
218
|
else
|
|
200
|
-
await locator.uncheck(
|
|
219
|
+
await locator.uncheck();
|
|
201
220
|
}
|
|
202
221
|
else {
|
|
203
|
-
await locator.fill(value
|
|
222
|
+
await locator.fill(value);
|
|
204
223
|
}
|
|
205
224
|
}
|
|
206
225
|
/**
|
|
@@ -261,9 +280,9 @@ class PlaywrightWorld extends VisualWorld {
|
|
|
261
280
|
let visibleText = toBeVisible ? 'true' : '';
|
|
262
281
|
try {
|
|
263
282
|
if (toBePresent)
|
|
264
|
-
await expect(locator.locator(`visible=${visibleText}`).first()).toBeAttached(
|
|
283
|
+
await expect(locator.locator(`visible=${visibleText}`).first()).toBeAttached();
|
|
265
284
|
else
|
|
266
|
-
await expect(locator.locator(`visible=${visibleText}`)).toHaveCount(0
|
|
285
|
+
await expect(locator.locator(`visible=${visibleText}`)).toHaveCount(0);
|
|
267
286
|
}
|
|
268
287
|
catch (e) {
|
|
269
288
|
throw new Error(`The${toBeVisible ? '' : ' hidden'} element "${locator}" was unexpectedly ${toBePresent ? 'not present' : 'present'}.`);
|