@scenetest/scenes 0.2.0 → 0.3.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/__tests__/dsl.test.js +4 -0
- package/dist/__tests__/dsl.test.js.map +1 -1
- package/dist/__tests__/keyboard.test.d.ts +2 -0
- package/dist/__tests__/keyboard.test.d.ts.map +1 -0
- package/dist/__tests__/keyboard.test.js +332 -0
- package/dist/__tests__/keyboard.test.js.map +1 -0
- package/dist/__tests__/reactive.test.js +210 -6
- package/dist/__tests__/reactive.test.js.map +1 -1
- package/dist/actor.d.ts +20 -4
- package/dist/actor.d.ts.map +1 -1
- package/dist/actor.js +168 -12
- package/dist/actor.js.map +1 -1
- package/dist/builtin-macros.d.ts +87 -0
- package/dist/builtin-macros.d.ts.map +1 -0
- package/dist/builtin-macros.js +154 -0
- package/dist/builtin-macros.js.map +1 -0
- package/dist/cli.js +12 -0
- package/dist/cli.js.map +1 -1
- package/dist/devices.d.ts +6 -0
- package/dist/devices.d.ts.map +1 -1
- package/dist/devices.js +13 -0
- package/dist/devices.js.map +1 -1
- package/dist/dsl.d.ts +4 -0
- package/dist/dsl.d.ts.map +1 -1
- package/dist/dsl.js +13 -1
- package/dist/dsl.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/keyboard.d.ts +168 -0
- package/dist/keyboard.d.ts.map +1 -0
- package/dist/keyboard.js +370 -0
- package/dist/keyboard.js.map +1 -0
- package/dist/reactive.d.ts +24 -2
- package/dist/reactive.d.ts.map +1 -1
- package/dist/reactive.js +138 -16
- package/dist/reactive.js.map +1 -1
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +47 -10
- package/dist/runner.js.map +1 -1
- package/dist/swarm.d.ts +1 -1
- package/dist/swarm.d.ts.map +1 -1
- package/dist/swarm.js +2 -2
- package/dist/swarm.js.map +1 -1
- package/dist/team-manager.d.ts +48 -3
- package/dist/team-manager.d.ts.map +1 -1
- package/dist/team-manager.js +150 -15
- package/dist/team-manager.js.map +1 -1
- package/dist/types.d.ts +115 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/actor.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { tabToElement, pressEnter, pressSpace, clearAndType, keyboardSelectOption, fuzzyFingerClick, fuzzyFingerFill, fuzzyFingerCheck } from './keyboard.js';
|
|
1
2
|
import { resolveSelector } from './selectors.js';
|
|
2
3
|
import { parseDslLines, parseAction, applyDslAction } from './dsl.js';
|
|
4
|
+
import { findDevice } from './devices.js';
|
|
3
5
|
/**
|
|
4
6
|
* Format a Selector for display in logs/errors
|
|
5
7
|
*/
|
|
@@ -19,6 +21,8 @@ class ActionChainImpl {
|
|
|
19
21
|
warnings;
|
|
20
22
|
actionTimeout;
|
|
21
23
|
warnAfter;
|
|
24
|
+
navigationMode;
|
|
25
|
+
fuzzyFingers;
|
|
22
26
|
actions = [];
|
|
23
27
|
// Current scope - starts as page, changes with see()
|
|
24
28
|
currentScope;
|
|
@@ -28,7 +32,7 @@ class ActionChainImpl {
|
|
|
28
32
|
scopeSetUrl = '';
|
|
29
33
|
// Per-entry URLs matching scopeStack (kept in sync)
|
|
30
34
|
scopeStackUrls = [];
|
|
31
|
-
constructor(actor, page, bus, timeline, warnings, actionTimeout, warnAfter) {
|
|
35
|
+
constructor(actor, page, bus, timeline, warnings, actionTimeout, warnAfter, navigationMode = 'pointer', fuzzyFingers = false) {
|
|
32
36
|
this.actor = actor;
|
|
33
37
|
this.page = page;
|
|
34
38
|
this.bus = bus;
|
|
@@ -36,8 +40,23 @@ class ActionChainImpl {
|
|
|
36
40
|
this.warnings = warnings;
|
|
37
41
|
this.actionTimeout = actionTimeout;
|
|
38
42
|
this.warnAfter = warnAfter;
|
|
43
|
+
this.navigationMode = navigationMode;
|
|
44
|
+
this.fuzzyFingers = fuzzyFingers;
|
|
39
45
|
this.currentScope = page;
|
|
40
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Whether this chain uses keyboard navigation.
|
|
49
|
+
*/
|
|
50
|
+
get isKeyboard() {
|
|
51
|
+
return this.navigationMode === 'keyboard';
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Whether fuzzy-finger touch behavior is enabled for pointer mode.
|
|
55
|
+
* Fuzzy-finger simulates imprecise human touch: miss → pause → correct click.
|
|
56
|
+
*/
|
|
57
|
+
get useFuzzyFingers() {
|
|
58
|
+
return this.navigationMode === 'pointer' && this.fuzzyFingers;
|
|
59
|
+
}
|
|
41
60
|
addAction(name, target, execute) {
|
|
42
61
|
this.actions.push({ name, target, execute });
|
|
43
62
|
return this;
|
|
@@ -120,6 +139,53 @@ class ActionChainImpl {
|
|
|
120
139
|
this.scopeStackUrls = [];
|
|
121
140
|
});
|
|
122
141
|
}
|
|
142
|
+
reload() {
|
|
143
|
+
return this.addAction('reload', undefined, async () => {
|
|
144
|
+
await this.page.reload({ timeout: this.actionTimeout });
|
|
145
|
+
this.currentScope = this.page;
|
|
146
|
+
this.scopeStack = [];
|
|
147
|
+
this.scopeSetUrl = '';
|
|
148
|
+
this.scopeStackUrls = [];
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
goBack() {
|
|
152
|
+
return this.addAction('goBack', undefined, async () => {
|
|
153
|
+
await this.page.goBack({ timeout: this.actionTimeout });
|
|
154
|
+
this.currentScope = this.page;
|
|
155
|
+
this.scopeStack = [];
|
|
156
|
+
this.scopeSetUrl = '';
|
|
157
|
+
this.scopeStackUrls = [];
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
goForward() {
|
|
161
|
+
return this.addAction('goForward', undefined, async () => {
|
|
162
|
+
await this.page.goForward({ timeout: this.actionTimeout });
|
|
163
|
+
this.currentScope = this.page;
|
|
164
|
+
this.scopeStack = [];
|
|
165
|
+
this.scopeSetUrl = '';
|
|
166
|
+
this.scopeStackUrls = [];
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
switchDevice(device) {
|
|
170
|
+
return this.addAction('switchDevice', device ?? '(next)', async () => {
|
|
171
|
+
const factory = this.actor.getPageFactory();
|
|
172
|
+
if (!factory) {
|
|
173
|
+
throw new Error('switchDevice requires the scene runner (page factory not available)');
|
|
174
|
+
}
|
|
175
|
+
const profile = device ? findDevice(device) : null;
|
|
176
|
+
// Factory closes old context, creates new one with assertion wiring
|
|
177
|
+
const { page, context } = await factory(profile);
|
|
178
|
+
// Update actor's backing references
|
|
179
|
+
this.actor._switchPage(page, context);
|
|
180
|
+
// Update chain's local page reference
|
|
181
|
+
this.page = page;
|
|
182
|
+
// Reset scope to new page root
|
|
183
|
+
this.currentScope = this.page;
|
|
184
|
+
this.scopeStack = [];
|
|
185
|
+
this.scopeSetUrl = '';
|
|
186
|
+
this.scopeStackUrls = [];
|
|
187
|
+
});
|
|
188
|
+
}
|
|
123
189
|
see(selector) {
|
|
124
190
|
const target = formatSelector(selector);
|
|
125
191
|
return this.addAction('see', target, async () => {
|
|
@@ -177,31 +243,85 @@ class ActionChainImpl {
|
|
|
177
243
|
if (scope === this.page) {
|
|
178
244
|
throw new Error('click with no selector requires a scope (use see() first)');
|
|
179
245
|
}
|
|
180
|
-
|
|
246
|
+
if (this.isKeyboard) {
|
|
247
|
+
await tabToElement(this.page, scope, { timeout: this.actionTimeout });
|
|
248
|
+
await pressEnter(this.page);
|
|
249
|
+
}
|
|
250
|
+
else if (this.useFuzzyFingers) {
|
|
251
|
+
await fuzzyFingerClick(this.page, scope, this.actionTimeout, '(scope)');
|
|
252
|
+
}
|
|
253
|
+
else {
|
|
254
|
+
await scope.click({ timeout: this.actionTimeout });
|
|
255
|
+
}
|
|
181
256
|
});
|
|
182
257
|
}
|
|
183
258
|
const target = formatSelector(selector);
|
|
184
259
|
return this.addAction('click', target, async () => {
|
|
185
|
-
|
|
260
|
+
const locator = resolveSelector(this.getScope(), selector);
|
|
261
|
+
if (this.isKeyboard) {
|
|
262
|
+
await locator.waitFor({ state: 'visible', timeout: this.actionTimeout });
|
|
263
|
+
await tabToElement(this.page, locator, { timeout: this.actionTimeout });
|
|
264
|
+
await pressEnter(this.page);
|
|
265
|
+
}
|
|
266
|
+
else if (this.useFuzzyFingers) {
|
|
267
|
+
await fuzzyFingerClick(this.page, locator, this.actionTimeout, selector);
|
|
268
|
+
}
|
|
269
|
+
else {
|
|
270
|
+
await locator.click({ timeout: this.actionTimeout });
|
|
271
|
+
}
|
|
186
272
|
});
|
|
187
273
|
}
|
|
188
274
|
typeInto(selector, value) {
|
|
189
275
|
const target = `${formatSelector(selector)}=${value}`;
|
|
190
276
|
return this.addAction('typeInto', target, async () => {
|
|
191
|
-
|
|
277
|
+
const locator = resolveSelector(this.getScope(), selector);
|
|
278
|
+
if (this.isKeyboard) {
|
|
279
|
+
await locator.waitFor({ state: 'visible', timeout: this.actionTimeout });
|
|
280
|
+
await tabToElement(this.page, locator, { timeout: this.actionTimeout });
|
|
281
|
+
await clearAndType(this.page, value);
|
|
282
|
+
}
|
|
283
|
+
else if (this.useFuzzyFingers) {
|
|
284
|
+
await fuzzyFingerFill(this.page, locator, value, this.actionTimeout, selector);
|
|
285
|
+
}
|
|
286
|
+
else {
|
|
287
|
+
await locator.fill(value, { timeout: this.actionTimeout });
|
|
288
|
+
}
|
|
192
289
|
// typeInto stays in current scope
|
|
193
290
|
});
|
|
194
291
|
}
|
|
195
292
|
check(selector) {
|
|
196
293
|
const target = formatSelector(selector);
|
|
197
294
|
return this.addAction('check', target, async () => {
|
|
198
|
-
|
|
295
|
+
const locator = resolveSelector(this.getScope(), selector);
|
|
296
|
+
if (this.isKeyboard) {
|
|
297
|
+
await locator.waitFor({ state: 'visible', timeout: this.actionTimeout });
|
|
298
|
+
await tabToElement(this.page, locator, { timeout: this.actionTimeout });
|
|
299
|
+
await pressSpace(this.page);
|
|
300
|
+
}
|
|
301
|
+
else if (this.useFuzzyFingers) {
|
|
302
|
+
await fuzzyFingerCheck(this.page, locator, this.actionTimeout, selector);
|
|
303
|
+
}
|
|
304
|
+
else {
|
|
305
|
+
await locator.check({ timeout: this.actionTimeout });
|
|
306
|
+
}
|
|
199
307
|
});
|
|
200
308
|
}
|
|
201
309
|
select(selector, value) {
|
|
202
310
|
const target = `${formatSelector(selector)}=${value}`;
|
|
203
311
|
return this.addAction('select', target, async () => {
|
|
204
|
-
|
|
312
|
+
const locator = resolveSelector(this.getScope(), selector);
|
|
313
|
+
if (this.isKeyboard) {
|
|
314
|
+
await locator.waitFor({ state: 'visible', timeout: this.actionTimeout });
|
|
315
|
+
await tabToElement(this.page, locator, { timeout: this.actionTimeout });
|
|
316
|
+
await keyboardSelectOption(this.page, locator, value);
|
|
317
|
+
}
|
|
318
|
+
else if (this.useFuzzyFingers) {
|
|
319
|
+
await fuzzyFingerClick(this.page, locator, this.actionTimeout, selector);
|
|
320
|
+
await locator.selectOption(value, { timeout: this.actionTimeout });
|
|
321
|
+
}
|
|
322
|
+
else {
|
|
323
|
+
await locator.selectOption(value, { timeout: this.actionTimeout });
|
|
324
|
+
}
|
|
205
325
|
});
|
|
206
326
|
}
|
|
207
327
|
wait(ms) {
|
|
@@ -442,19 +562,23 @@ export class SequentialActorHandleImpl {
|
|
|
442
562
|
actionTimeout;
|
|
443
563
|
warnAfter;
|
|
444
564
|
role;
|
|
445
|
-
|
|
446
|
-
|
|
565
|
+
_page;
|
|
566
|
+
_context;
|
|
447
567
|
assertions = [];
|
|
568
|
+
navigationMode;
|
|
569
|
+
fuzzyFingers;
|
|
448
570
|
// Registered watchers for conditional handling
|
|
449
571
|
watchers = [];
|
|
450
572
|
// Registered warning triggers
|
|
451
573
|
warningTriggers = [];
|
|
574
|
+
// Page factory for switchDevice support
|
|
575
|
+
_pageFactory;
|
|
452
576
|
// Forward config properties
|
|
453
577
|
key;
|
|
454
578
|
username;
|
|
455
579
|
email;
|
|
456
580
|
password;
|
|
457
|
-
constructor(role, config, page, context, bus, timeline, warnings, actionTimeout, warnAfter) {
|
|
581
|
+
constructor(role, config, page, context, bus, timeline, warnings, actionTimeout, warnAfter, navigationMode = 'pointer', fuzzyFingers = false, pageFactory) {
|
|
458
582
|
this.config = config;
|
|
459
583
|
this.bus = bus;
|
|
460
584
|
this.timeline = timeline;
|
|
@@ -462,9 +586,12 @@ export class SequentialActorHandleImpl {
|
|
|
462
586
|
this.actionTimeout = actionTimeout;
|
|
463
587
|
this.warnAfter = warnAfter;
|
|
464
588
|
this.role = role;
|
|
465
|
-
this.
|
|
466
|
-
this.
|
|
589
|
+
this._page = page;
|
|
590
|
+
this._context = context;
|
|
591
|
+
this._pageFactory = pageFactory ?? null;
|
|
467
592
|
this.key = config.key;
|
|
593
|
+
this.navigationMode = navigationMode;
|
|
594
|
+
this.fuzzyFingers = fuzzyFingers;
|
|
468
595
|
// Copy all config properties to this instance
|
|
469
596
|
for (const [k, value] of Object.entries(config)) {
|
|
470
597
|
if (!(k in this)) {
|
|
@@ -475,6 +602,23 @@ export class SequentialActorHandleImpl {
|
|
|
475
602
|
}
|
|
476
603
|
}
|
|
477
604
|
}
|
|
605
|
+
/** Playwright page for this actor */
|
|
606
|
+
get page() {
|
|
607
|
+
return this._page;
|
|
608
|
+
}
|
|
609
|
+
/** Playwright browser context for this actor */
|
|
610
|
+
get context() {
|
|
611
|
+
return this._context;
|
|
612
|
+
}
|
|
613
|
+
/** Get the page factory (used by ActionChainImpl for switchDevice) */
|
|
614
|
+
getPageFactory() {
|
|
615
|
+
return this._pageFactory;
|
|
616
|
+
}
|
|
617
|
+
/** Update page and context after a device switch */
|
|
618
|
+
_switchPage(page, context) {
|
|
619
|
+
this._page = page;
|
|
620
|
+
this._context = context;
|
|
621
|
+
}
|
|
478
622
|
/**
|
|
479
623
|
* Get registered watchers (used by ActionChainImpl)
|
|
480
624
|
*/
|
|
@@ -495,11 +639,23 @@ export class SequentialActorHandleImpl {
|
|
|
495
639
|
this.watchers = [];
|
|
496
640
|
}
|
|
497
641
|
createChain() {
|
|
498
|
-
return new ActionChainImpl(this, this.page, this.bus, this.timeline, this.warnings, this.actionTimeout, this.warnAfter);
|
|
642
|
+
return new ActionChainImpl(this, this.page, this.bus, this.timeline, this.warnings, this.actionTimeout, this.warnAfter, this.navigationMode, this.fuzzyFingers);
|
|
499
643
|
}
|
|
500
644
|
openTo(url) {
|
|
501
645
|
return this.createChain().openTo(url);
|
|
502
646
|
}
|
|
647
|
+
reload() {
|
|
648
|
+
return this.createChain().reload();
|
|
649
|
+
}
|
|
650
|
+
goBack() {
|
|
651
|
+
return this.createChain().goBack();
|
|
652
|
+
}
|
|
653
|
+
goForward() {
|
|
654
|
+
return this.createChain().goForward();
|
|
655
|
+
}
|
|
656
|
+
switchDevice(device) {
|
|
657
|
+
return this.createChain().switchDevice(device);
|
|
658
|
+
}
|
|
503
659
|
see(selector) {
|
|
504
660
|
return this.createChain().see(selector);
|
|
505
661
|
}
|
package/dist/actor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actor.js","sourceRoot":"","sources":["../src/actor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"actor.js","sourceRoot":"","sources":["../src/actor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import type { Macro } from './dsl.js';
|
|
2
|
+
/**
|
|
3
|
+
* Built-in starter macros — opinionated, practical patterns for common
|
|
4
|
+
* UI interactions. Think of these as "shadcn-style" templates: they ship
|
|
5
|
+
* with scenetest, you opt in via `builtinMacros: true` in your config,
|
|
6
|
+
* and you can override any of them with your own `defineMacro()` call.
|
|
7
|
+
*
|
|
8
|
+
* ## Available macros
|
|
9
|
+
*
|
|
10
|
+
* ### `login`
|
|
11
|
+
* Standard username/password login flow.
|
|
12
|
+
* Uses `[self.username]` and `[self.password]` from the actor config.
|
|
13
|
+
*
|
|
14
|
+
* ### `logout`
|
|
15
|
+
* Click a user-menu, then log out.
|
|
16
|
+
*
|
|
17
|
+
* ### `ensure-visible`
|
|
18
|
+
* Toggle a container open if it isn't already visible.
|
|
19
|
+
* Pass the container selector as the first token, toggle button as second.
|
|
20
|
+
* Example: the sidebar pattern.
|
|
21
|
+
*
|
|
22
|
+
* ```
|
|
23
|
+
* // In your scene:
|
|
24
|
+
* alice.dsl('ensure-visible sidebar-links-list sidebar-toggle')
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* This is registered as a two-action macro but the *real* pattern is
|
|
28
|
+
* better expressed using the `if()` API for conditional handling:
|
|
29
|
+
*
|
|
30
|
+
* ```ts
|
|
31
|
+
* alice.if('sidebar-toggle', async () => {
|
|
32
|
+
* // Toggle is visible = sidebar is collapsed, click to expand
|
|
33
|
+
* await alice.click('sidebar-toggle')
|
|
34
|
+
* })
|
|
35
|
+
* await alice.see('sidebar-links-list')
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* ### `dismiss-if-present`
|
|
39
|
+
* Dismiss a modal/banner/toast if it appears, otherwise continue.
|
|
40
|
+
* Best used with the `if()` API:
|
|
41
|
+
*
|
|
42
|
+
* ```ts
|
|
43
|
+
* user.if('welcome-modal', async () => {
|
|
44
|
+
* await user.click('dismiss-button')
|
|
45
|
+
* })
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
48
|
+
* ### `refresh-and-retry`
|
|
49
|
+
* When an error state is on screen, click refresh and wait for
|
|
50
|
+
* the content to reappear. This is a macro version of a common
|
|
51
|
+
* resilience pattern — real users hit refresh when things break.
|
|
52
|
+
*
|
|
53
|
+
* ```
|
|
54
|
+
* // After an error, retry:
|
|
55
|
+
* alice.dsl('refresh-and-retry')
|
|
56
|
+
* ```
|
|
57
|
+
*
|
|
58
|
+
* ## Customization
|
|
59
|
+
*
|
|
60
|
+
* Override any built-in macro by calling `defineMacro()` with the same
|
|
61
|
+
* name *after* `registerBuiltinMacros()`. Your version wins.
|
|
62
|
+
*
|
|
63
|
+
* Or define your own from scratch — the built-in collection is just a
|
|
64
|
+
* starting point.
|
|
65
|
+
*/
|
|
66
|
+
/**
|
|
67
|
+
* All built-in macros keyed by name.
|
|
68
|
+
* Exported so users can inspect or selectively register.
|
|
69
|
+
*/
|
|
70
|
+
export declare const builtinMacroDefinitions: Record<string, Macro>;
|
|
71
|
+
/**
|
|
72
|
+
* Register all built-in macros in the global macro registry.
|
|
73
|
+
* Call this from the runner when `builtinMacros: true` is set in config.
|
|
74
|
+
*
|
|
75
|
+
* Macros registered here can be overridden by a later `defineMacro()`
|
|
76
|
+
* call with the same name.
|
|
77
|
+
*/
|
|
78
|
+
export declare function registerBuiltinMacros(): void;
|
|
79
|
+
/**
|
|
80
|
+
* Register a subset of built-in macros by name.
|
|
81
|
+
*
|
|
82
|
+
* ```ts
|
|
83
|
+
* registerSelectedMacros(['login', 'logout'])
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
export declare function registerSelectedMacros(names: string[]): void;
|
|
87
|
+
//# sourceMappingURL=builtin-macros.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builtin-macros.d.ts","sourceRoot":"","sources":["../src/builtin-macros.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AAMH;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAqDzD,CAAA;AAMD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAI5C;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAO5D"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { defineMacro } from './dsl.js';
|
|
2
|
+
/**
|
|
3
|
+
* Built-in starter macros — opinionated, practical patterns for common
|
|
4
|
+
* UI interactions. Think of these as "shadcn-style" templates: they ship
|
|
5
|
+
* with scenetest, you opt in via `builtinMacros: true` in your config,
|
|
6
|
+
* and you can override any of them with your own `defineMacro()` call.
|
|
7
|
+
*
|
|
8
|
+
* ## Available macros
|
|
9
|
+
*
|
|
10
|
+
* ### `login`
|
|
11
|
+
* Standard username/password login flow.
|
|
12
|
+
* Uses `[self.username]` and `[self.password]` from the actor config.
|
|
13
|
+
*
|
|
14
|
+
* ### `logout`
|
|
15
|
+
* Click a user-menu, then log out.
|
|
16
|
+
*
|
|
17
|
+
* ### `ensure-visible`
|
|
18
|
+
* Toggle a container open if it isn't already visible.
|
|
19
|
+
* Pass the container selector as the first token, toggle button as second.
|
|
20
|
+
* Example: the sidebar pattern.
|
|
21
|
+
*
|
|
22
|
+
* ```
|
|
23
|
+
* // In your scene:
|
|
24
|
+
* alice.dsl('ensure-visible sidebar-links-list sidebar-toggle')
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* This is registered as a two-action macro but the *real* pattern is
|
|
28
|
+
* better expressed using the `if()` API for conditional handling:
|
|
29
|
+
*
|
|
30
|
+
* ```ts
|
|
31
|
+
* alice.if('sidebar-toggle', async () => {
|
|
32
|
+
* // Toggle is visible = sidebar is collapsed, click to expand
|
|
33
|
+
* await alice.click('sidebar-toggle')
|
|
34
|
+
* })
|
|
35
|
+
* await alice.see('sidebar-links-list')
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* ### `dismiss-if-present`
|
|
39
|
+
* Dismiss a modal/banner/toast if it appears, otherwise continue.
|
|
40
|
+
* Best used with the `if()` API:
|
|
41
|
+
*
|
|
42
|
+
* ```ts
|
|
43
|
+
* user.if('welcome-modal', async () => {
|
|
44
|
+
* await user.click('dismiss-button')
|
|
45
|
+
* })
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
48
|
+
* ### `refresh-and-retry`
|
|
49
|
+
* When an error state is on screen, click refresh and wait for
|
|
50
|
+
* the content to reappear. This is a macro version of a common
|
|
51
|
+
* resilience pattern — real users hit refresh when things break.
|
|
52
|
+
*
|
|
53
|
+
* ```
|
|
54
|
+
* // After an error, retry:
|
|
55
|
+
* alice.dsl('refresh-and-retry')
|
|
56
|
+
* ```
|
|
57
|
+
*
|
|
58
|
+
* ## Customization
|
|
59
|
+
*
|
|
60
|
+
* Override any built-in macro by calling `defineMacro()` with the same
|
|
61
|
+
* name *after* `registerBuiltinMacros()`. Your version wins.
|
|
62
|
+
*
|
|
63
|
+
* Or define your own from scratch — the built-in collection is just a
|
|
64
|
+
* starting point.
|
|
65
|
+
*/
|
|
66
|
+
// ---------------------------------------------------------------------------
|
|
67
|
+
// Macro definitions
|
|
68
|
+
// ---------------------------------------------------------------------------
|
|
69
|
+
/**
|
|
70
|
+
* All built-in macros keyed by name.
|
|
71
|
+
* Exported so users can inspect or selectively register.
|
|
72
|
+
*/
|
|
73
|
+
export const builtinMacroDefinitions = {
|
|
74
|
+
/**
|
|
75
|
+
* Standard login flow.
|
|
76
|
+
* Expects actor config to have `username` and `password` fields.
|
|
77
|
+
*
|
|
78
|
+
* ```yaml
|
|
79
|
+
* # actors.ts
|
|
80
|
+
* export default {
|
|
81
|
+
* alice: { id: 'alice', username: 'alice@test.com', password: 'test123' },
|
|
82
|
+
* }
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
login: [
|
|
86
|
+
'see login-form',
|
|
87
|
+
'typeInto username [self.username]',
|
|
88
|
+
'typeInto password [self.password]',
|
|
89
|
+
'click login-submit',
|
|
90
|
+
'see dashboard',
|
|
91
|
+
],
|
|
92
|
+
/**
|
|
93
|
+
* Standard logout flow.
|
|
94
|
+
* Clicks user menu → logout button → verifies login form appears.
|
|
95
|
+
*/
|
|
96
|
+
logout: [
|
|
97
|
+
'click user-menu',
|
|
98
|
+
'click logout-button',
|
|
99
|
+
'see login-form',
|
|
100
|
+
],
|
|
101
|
+
/**
|
|
102
|
+
* Refresh and retry pattern.
|
|
103
|
+
* When something goes wrong, click refresh and wait for main content.
|
|
104
|
+
*
|
|
105
|
+
* Customize the selectors to match your app:
|
|
106
|
+
* - `error-state` — the error indicator
|
|
107
|
+
* - `refresh-button` — the retry/refresh button
|
|
108
|
+
* - `main-content` — what should appear after refresh
|
|
109
|
+
*/
|
|
110
|
+
'refresh-and-retry': [
|
|
111
|
+
'click refresh-button',
|
|
112
|
+
'wait 500',
|
|
113
|
+
'see main-content',
|
|
114
|
+
],
|
|
115
|
+
/**
|
|
116
|
+
* Close cookie/consent banner if present.
|
|
117
|
+
* Many apps show these on first visit.
|
|
118
|
+
*/
|
|
119
|
+
'accept-cookies': [
|
|
120
|
+
'see cookie-banner',
|
|
121
|
+
'click accept-cookies',
|
|
122
|
+
],
|
|
123
|
+
};
|
|
124
|
+
// ---------------------------------------------------------------------------
|
|
125
|
+
// Registration
|
|
126
|
+
// ---------------------------------------------------------------------------
|
|
127
|
+
/**
|
|
128
|
+
* Register all built-in macros in the global macro registry.
|
|
129
|
+
* Call this from the runner when `builtinMacros: true` is set in config.
|
|
130
|
+
*
|
|
131
|
+
* Macros registered here can be overridden by a later `defineMacro()`
|
|
132
|
+
* call with the same name.
|
|
133
|
+
*/
|
|
134
|
+
export function registerBuiltinMacros() {
|
|
135
|
+
for (const [name, actions] of Object.entries(builtinMacroDefinitions)) {
|
|
136
|
+
defineMacro(name, actions);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Register a subset of built-in macros by name.
|
|
141
|
+
*
|
|
142
|
+
* ```ts
|
|
143
|
+
* registerSelectedMacros(['login', 'logout'])
|
|
144
|
+
* ```
|
|
145
|
+
*/
|
|
146
|
+
export function registerSelectedMacros(names) {
|
|
147
|
+
for (const name of names) {
|
|
148
|
+
const actions = builtinMacroDefinitions[name];
|
|
149
|
+
if (actions) {
|
|
150
|
+
defineMacro(name, actions);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=builtin-macros.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builtin-macros.js","sourceRoot":"","sources":["../src/builtin-macros.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAGtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AAEH,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAA0B;IAC5D;;;;;;;;;;OAUG;IACH,KAAK,EAAE;QACL,gBAAgB;QAChB,mCAAmC;QACnC,mCAAmC;QACnC,oBAAoB;QACpB,eAAe;KAChB;IAED;;;OAGG;IACH,MAAM,EAAE;QACN,iBAAiB;QACjB,qBAAqB;QACrB,gBAAgB;KACjB;IAED;;;;;;;;OAQG;IACH,mBAAmB,EAAE;QACnB,sBAAsB;QACtB,UAAU;QACV,kBAAkB;KACnB;IAED;;;OAGG;IACH,gBAAgB,EAAE;QAChB,mBAAmB;QACnB,sBAAsB;KACvB;CACF,CAAA;AAED,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB;IACnC,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE,CAAC;QACtE,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC5B,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAe;IACpD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAA;QAC7C,IAAI,OAAO,EAAE,CAAC;YACZ,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;AACH,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -18,7 +18,10 @@ program
|
|
|
18
18
|
.option('--format <format>', 'Report format (html, json, both)')
|
|
19
19
|
.option('--config <path>', 'Path to config file')
|
|
20
20
|
.option('--devices', 'Enable device rotation (assign each actor a rotating mobile/tablet/desktop device)')
|
|
21
|
+
.option('--no-keyboard-actor', 'Disable keyboard-only actor rotation (keyboard navigation is ON by default)')
|
|
22
|
+
.option('--fuzzy-fingers', 'Enable fuzzy-finger touch behavior (simulates imprecise human touch ~1 in 5 clicks)')
|
|
21
23
|
.option('--swarm', 'Force swarm mode: run all teams against all scenes to classify failures')
|
|
24
|
+
.option('--no-panel', 'Suppress the dev panel in the browser (useful for CI / headless runs)')
|
|
22
25
|
.action(async (scenes, options) => {
|
|
23
26
|
try {
|
|
24
27
|
// Load config and discover actor teams
|
|
@@ -36,6 +39,15 @@ program
|
|
|
36
39
|
if (options.devices) {
|
|
37
40
|
config.devices = true;
|
|
38
41
|
}
|
|
42
|
+
if (options.noKeyboardActor) {
|
|
43
|
+
config.noKeyboardActor = true;
|
|
44
|
+
}
|
|
45
|
+
if (options.fuzzyFingers) {
|
|
46
|
+
config.fuzzyFingers = true;
|
|
47
|
+
}
|
|
48
|
+
if (options.noPanel) {
|
|
49
|
+
config.noPanel = true;
|
|
50
|
+
}
|
|
39
51
|
// Interactive UI mode
|
|
40
52
|
if (options.ui) {
|
|
41
53
|
config.headed = true;
|