@unotest/web 0.41.0 → 0.42.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 +170 -3
- package/README.md +31 -1
- package/dist/config/schema.d.ts +29 -8
- package/dist/config/schema.js +1 -1
- package/dist/driver/index.d.ts +2 -2
- package/dist/driver/index.js +1 -1
- package/dist/dsl/index.d.ts +2 -2
- package/dist/dsl/index.js +1 -1
- package/dist/dsl/web-dsl-language-service.js +1 -1
- package/dist/inspection/page-inject.d.ts +1 -1
- package/dist/{interfaces-B34N4rfI.d.ts → interfaces-7nMNCr2h.d.ts} +6 -0
- package/dist/mcp/server.js +1 -1
- package/dist/runner/cli.js +1 -1
- package/dist/runner/init/chrome-probe.js +1 -1
- package/dist/runner/init.js +1 -1
- package/dist/runner/install-chromium.js +1 -1
- package/dist/runner/prepare-fix.js +1 -1
- package/dist/runner/scaffold-workspace.js +1 -1
- package/dist/runner/serve-fixture.js +1 -1
- package/dist/runner/web-runner-adapter.js +1 -1
- package/guides/agent-integration.md +4 -1
- package/package.json +8 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,172 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.42.0] - 2026-09-24
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 8f319b2: `box status` now reports the box's version: what it runs, what its channel
|
|
8
|
+
offers and where it is between the two.
|
|
9
|
+
|
|
10
|
+
A box never updates itself. A new release is offered, not installed — the
|
|
11
|
+
box keeps running the version it is on until somebody presses **Update** in
|
|
12
|
+
the cabinet, or an agent calls `POST /api/v1/boxes/<name>/update` with the
|
|
13
|
+
version it was offered. `box status` prints the offer and says where the
|
|
14
|
+
decision is made; a cloud that reports no versions leaves the CLI silent
|
|
15
|
+
about them rather than guessing.
|
|
16
|
+
|
|
17
|
+
Migration: boxes that used to install a new release on their own stop doing so
|
|
18
|
+
with this release. To move a box to a newer version, press **Update** on its
|
|
19
|
+
card in the cabinet, or call the endpoint above.
|
|
20
|
+
|
|
21
|
+
- 0c56c6d: Start the browser with a profile and extra arguments — what testing a browser extension needs
|
|
22
|
+
|
|
23
|
+
A new `launch` block in `unotest.config`:
|
|
24
|
+
|
|
25
|
+
- `launch.args` — extra browser command-line arguments, e.g.
|
|
26
|
+
`--load-extension=./ext` (extensions load in Chromium only);
|
|
27
|
+
- `launch.userDataDir` — a browser profile directory. The browser then starts
|
|
28
|
+
persistent: cookies, storage and installed extensions live in the profile.
|
|
29
|
+
`UNOTEST_USER_DATA_DIR` overrides it for a machine.
|
|
30
|
+
|
|
31
|
+
On a profile there is **no isolation between scenarios**: the browser has one
|
|
32
|
+
context, and every scenario of a run gets that same context. Each such run says
|
|
33
|
+
so in its log.
|
|
34
|
+
|
|
35
|
+
Refused with a message instead of being ignored: a profile together with
|
|
36
|
+
`storageState`, a profile in a collection of more than one worker, `launch`
|
|
37
|
+
on a box (its runs take no launch settings from the suite), and an extension
|
|
38
|
+
(`--load-extension`) on a headless run of bundled Chromium, whose headless
|
|
39
|
+
shell ignores extensions without an error. For headless runs with an
|
|
40
|
+
extension — CI — set the new `channel: "chromium"` (Chromium's new headless
|
|
41
|
+
mode, which loads them), or `UNOTEST_BROWSER_CHANNEL=chromium`; locally, run
|
|
42
|
+
headed. Without `launch` nothing changes.
|
|
43
|
+
|
|
44
|
+
- 1f1dffb: `box envs` and `box run` show how a box installed the suite: how long it
|
|
45
|
+
took, and whether the packages came from the registry or the box's own
|
|
46
|
+
npm cache.
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
acme/test main@1a2b3c4
|
|
50
|
+
installed in 12.3s from this box's cache (252 of 252 from cache)
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
The source is measured by the box, not read out of npm's output: before
|
|
54
|
+
an install it compares what the lockfile names against what its cache
|
|
55
|
+
already holds. On a fast registry a cold install and a warm one take the
|
|
56
|
+
same number of seconds, so the duration alone never said which had
|
|
57
|
+
happened — the counts are printed with the word so it can be checked.
|
|
58
|
+
`box run <id>` prints the same line for the bundle that run came from,
|
|
59
|
+
while the environment still serves it.
|
|
60
|
+
|
|
61
|
+
A box older than this contract says nothing about installs, and the
|
|
62
|
+
output is exactly what it was.
|
|
63
|
+
|
|
64
|
+
- 7958c4a: Recording tools refuse a misspelled field instead of silently not recording
|
|
65
|
+
|
|
66
|
+
`explore_step` with `exploration_id` (instead of `explorationId`) used to run the
|
|
67
|
+
step ad hoc, answer success and record nothing — the empty session only showed
|
|
68
|
+
up at `explore_stop`. Every `explore_*` tool, `generate_dsl_from_exploration`
|
|
69
|
+
and `save_exploration_as_test` now refuse a field they do not declare, including
|
|
70
|
+
inside an `explore_steps` step, and the error names the field they accept
|
|
71
|
+
(`exploration_id (did you mean explorationId?)`).
|
|
72
|
+
|
|
73
|
+
Ad-hoc execution is unchanged: omit `explorationId`, and the step's reply says
|
|
74
|
+
`recorded: false`.
|
|
75
|
+
|
|
76
|
+
Migration: a client that sent extra, ignored fields to these tools now gets an
|
|
77
|
+
input error listing the accepted fields — drop the extra ones.
|
|
78
|
+
|
|
79
|
+
- 92b446f: `box status` says until when the balance keeps a box, not when its paid hour ends
|
|
80
|
+
|
|
81
|
+
`box status` used to print `paid until` — the end of the hour already bought.
|
|
82
|
+
With credit left that read as "switched off within the hour". It now prints
|
|
83
|
+
`funded until <date> UTC`: the moment the box is deleted if nobody tops up,
|
|
84
|
+
computed by the cloud from the balance and every box on the account, each at
|
|
85
|
+
its own rate. A failed box prints neither.
|
|
86
|
+
|
|
87
|
+
The cloud API adds `fundedUntil` to each billed box and to `GET /balance` (absent
|
|
88
|
+
when nothing is billed); `paidUntil` stays, and means only the end of the paid
|
|
89
|
+
hour. The cabinet's box card and balance show the same date, and the low-balance
|
|
90
|
+
letter names it.
|
|
91
|
+
|
|
92
|
+
Migration: `box status` no longer prints a `paid until` line. A script that read
|
|
93
|
+
it should take `fundedUntil` from `box status --json` for the deadline, or
|
|
94
|
+
`paidUntil` there if it meant the end of the paid hour.
|
|
95
|
+
|
|
96
|
+
- c99f849: The viewer on a box has no terminal panel instead of a dead one
|
|
97
|
+
|
|
98
|
+
A box's viewer could never start its docked terminal — the PTY addon is not in
|
|
99
|
+
the box image — yet it showed the panel and the button. A host that cannot give
|
|
100
|
+
the terminal a PTY now says so with `UNOTEST_VIEWER_TERMINAL=off`, and the viewer
|
|
101
|
+
then leaves the terminal out entirely: no panel, no button, no terminal socket,
|
|
102
|
+
for every session. A box sets it for its viewers.
|
|
103
|
+
|
|
104
|
+
Nothing changes locally: the terminal is on by default, and a machine missing
|
|
105
|
+
the addon still reports it when the panel starts.
|
|
106
|
+
|
|
107
|
+
### Patch Changes
|
|
108
|
+
|
|
109
|
+
- 784c10d: A pressed Update reaches the box within minutes, and a failed one is not retried on its own
|
|
110
|
+
|
|
111
|
+
A box now checks every five minutes whether it has been asked to move to
|
|
112
|
+
another version, instead of once an hour, so pressing **Update** in the cabinet
|
|
113
|
+
(or calling the update endpoint) takes effect within minutes.
|
|
114
|
+
|
|
115
|
+
The box also reports back what it runs and how its last update ended —
|
|
116
|
+
applied, rolled back, refused or failed, and why — which is what the cabinet
|
|
117
|
+
and `box status` show.
|
|
118
|
+
|
|
119
|
+
An update that did not succeed is not tried again by the box itself: rolling
|
|
120
|
+
back takes the box's stack down and up again, and repeating that unasked would
|
|
121
|
+
be an automatic update. It is tried again when **Update** is pressed again.
|
|
122
|
+
|
|
123
|
+
- e0b822a: A reinstall no longer empties the tree a viewer is serving
|
|
124
|
+
|
|
125
|
+
A bundle whose tree already has packages is reinstalled in a copy while the
|
|
126
|
+
live tree waits aside; the viewer keeps serving it. A failed reinstall leaves
|
|
127
|
+
the live `node_modules` untouched instead of leaving the viewer answering 404
|
|
128
|
+
until an install succeeds. A tree a daemon left aside when it died mid-install
|
|
129
|
+
is put back by the next housekeeping sweep.
|
|
130
|
+
|
|
131
|
+
- 96e4977: A box that names no environments is told so, instead of being sent a name
|
|
132
|
+
it cannot match.
|
|
133
|
+
|
|
134
|
+
`box runs`, `box queue`, `box run` and the rest used to pass the name on to
|
|
135
|
+
a box with an empty list, which answered 404 and advice about the form of a
|
|
136
|
+
name — spelling advice to somebody whose box has nothing to spell. They now
|
|
137
|
+
say what is true: the box names no environments yet, a run ordered a moment
|
|
138
|
+
ago may not be listed straight away, and a box that goes on naming none has
|
|
139
|
+
none configured. Agents get the same sentence through the `box_*` MCP tools.
|
|
140
|
+
|
|
141
|
+
The command exits 2, like the other refusals of an environment name (was 1).
|
|
142
|
+
|
|
143
|
+
Migration: a script that checked for exit code 1 on this refusal should check
|
|
144
|
+
for 2.
|
|
145
|
+
|
|
146
|
+
`bundle push --run` is unchanged: it uploads and lets the box decide, because
|
|
147
|
+
a box older than this contract names nothing until its first run. What
|
|
148
|
+
changed there is the hint after the box's own refusal, which no longer points
|
|
149
|
+
back at the list that was empty.
|
|
150
|
+
|
|
151
|
+
- d1ecff6: A box lists its environments before the first suite arrives
|
|
152
|
+
|
|
153
|
+
The route table names every configured environment; one without a bundle is
|
|
154
|
+
listed without an address. `/_guard/api/envs` answers with it at once
|
|
155
|
+
(`note: "no suite yet"`), so an environment name can be checked before the
|
|
156
|
+
first push, and opening it in a browser shows a page with the commands that
|
|
157
|
+
send a suite instead of a bare 503.
|
|
158
|
+
|
|
159
|
+
Migration: the environment list a read token gets (`box envs`, the `box_envs`
|
|
160
|
+
MCP tool) now also names environments that have no suite yet, with the note
|
|
161
|
+
`no suite yet`. Reading one of them answers `unavailable` until a suite is pushed.
|
|
162
|
+
|
|
163
|
+
- Updated dependencies [c99f849]
|
|
164
|
+
- @unotest/viewer@0.42.0
|
|
165
|
+
- @unotest/core@0.42.0
|
|
166
|
+
- @unotest/dsl@0.42.0
|
|
167
|
+
- @unotest/grounder-client@0.42.0
|
|
168
|
+
- @unotest/protocol@0.42.0
|
|
169
|
+
|
|
3
170
|
## [0.41.0] - 2026-09-21
|
|
4
171
|
|
|
5
172
|
### Minor Changes
|
|
@@ -651,7 +818,7 @@ picker on` fetches this project's own access and writes the three grounder
|
|
|
651
818
|
|
|
652
819
|
That screen named one command:
|
|
653
820
|
|
|
654
|
-
|
|
821
|
+
npx @unotest/web bundle push --run --env ENVIRONMENT
|
|
655
822
|
|
|
656
823
|
In a project that has just been created, the command refuses with `no box
|
|
657
824
|
address` before it does anything: the project holds neither the box's address
|
|
@@ -660,8 +827,8 @@ address` before it does anything: the project holds neither the box's address
|
|
|
660
827
|
|
|
661
828
|
The screen now names both steps, in the order they have to happen:
|
|
662
829
|
|
|
663
|
-
|
|
664
|
-
|
|
830
|
+
npx @unotest/web box access larch
|
|
831
|
+
npx @unotest/web bundle push --run --env ENVIRONMENT
|
|
665
832
|
|
|
666
833
|
The box's own name is filled in when its licence carries one. `box access`
|
|
667
834
|
with no name refuses, and its refusal offers to create a box — to somebody who
|
package/README.md
CHANGED
|
@@ -34,6 +34,11 @@ self-installs on the first `lint` / `e2e` run after upgrading; refresh by
|
|
|
34
34
|
hand with `npx @unotest/web types`. Details: the "Editor setup" section of
|
|
35
35
|
`node_modules/@unotest/web/guides/dsl-reference.md`.
|
|
36
36
|
|
|
37
|
+
Testing a browser extension? `launch` in `unotest.config` starts the browser
|
|
38
|
+
with a profile (`userDataDir`) and extra arguments (`args`, e.g.
|
|
39
|
+
`--load-extension=./ext`; Chromium only). On a profile every scenario shares
|
|
40
|
+
one browser context — no isolation between them, and the run log says so.
|
|
41
|
+
|
|
37
42
|
## 2. Open the viewer
|
|
38
43
|
|
|
39
44
|
```sh
|
|
@@ -182,6 +187,27 @@ Picker is on — which models the cloud grounds with: `Our GPU` or
|
|
|
182
187
|
`UNOTEST_GROUNDER_MODE`; a cloud that has not heard from its grounder
|
|
183
188
|
prints nothing rather than a guess.
|
|
184
189
|
|
|
190
|
+
**How a suite got installed is visible too.** `box envs` prints, under
|
|
191
|
+
each environment, how long the box took to install its bundle and where
|
|
192
|
+
the packages came from — `installed in 12.3s from this box's cache (252
|
|
193
|
+
of 252 from cache)`. `box run <id>` prints the same line for the bundle
|
|
194
|
+
that run came from, while the environment still serves it. The source is
|
|
195
|
+
the box's own measurement (what its npm cache already held of what the
|
|
196
|
+
lockfile names), not a reading of npm's output: on a fast registry a cold
|
|
197
|
+
install and a warm one take the same number of seconds, so the time alone
|
|
198
|
+
proves nothing. A box that says nothing about installs — one older than
|
|
199
|
+
this — prints nothing extra.
|
|
200
|
+
|
|
201
|
+
**A box never updates itself.** `box status` prints its version — what it
|
|
202
|
+
runs, and what its channel offers when the two differ. A new release is an
|
|
203
|
+
offer: the box keeps running what it is on until somebody presses **Update**
|
|
204
|
+
on its card in the cabinet, or an agent calls
|
|
205
|
+
`POST /api/v1/boxes/<name>/update` with the version it was offered (a
|
|
206
|
+
version that has since been overtaken is refused, with the one that is on
|
|
207
|
+
offer now). There is no `box update` command: the decision is a person's,
|
|
208
|
+
and the cabinet is where it is made. A cloud that reports no versions leaves
|
|
209
|
+
`box status` silent about them.
|
|
210
|
+
|
|
185
211
|
**Without a box.** An account can have the Picker on with no box rented
|
|
186
212
|
at all; the switch and the price for that live in the cabinet, and
|
|
187
213
|
`picker on` connects THIS project to it — it fetches the project's own
|
|
@@ -336,7 +362,11 @@ and can be revoked. Either way it is read-only whatever your role on the
|
|
|
336
362
|
box — it cannot start a run or change a value. `UNOTEST_BOX_TOKEN` is the
|
|
337
363
|
project's push credential and cannot read runs. `box envs` lists the
|
|
338
364
|
environments the box serves — an empty list means the box has none yet,
|
|
339
|
-
not that the token is too weak to see them.
|
|
365
|
+
not that the token is too weak to see them. The commands that name one
|
|
366
|
+
(`box runs`, `box queue`, `box run`, …) say the same thing rather than
|
|
367
|
+
sending the name to a box that has nothing to match it against: a box
|
|
368
|
+
that names none has none configured, which is ours to put right. A run
|
|
369
|
+
you have just ordered may take a moment to appear.
|
|
340
370
|
|
|
341
371
|
## 5. Watch it run — the viewer
|
|
342
372
|
|
package/dist/config/schema.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ type Browser = z.infer<typeof BrowserSchema>;
|
|
|
10
10
|
* Ignored for firefox / webkit browsers (Playwright has no system
|
|
11
11
|
* channel for those). Chosen at init time via the browser prompt;
|
|
12
12
|
* user can flip later in unotest.config.{mjs,js,ts}. */
|
|
13
|
-
declare const BrowserChannelSchema: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"chrome">, z.ZodLiteral<"msedge">, z.ZodLiteral<"chrome-beta">, z.ZodNull]>>;
|
|
13
|
+
declare const BrowserChannelSchema: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"chrome">, z.ZodLiteral<"msedge">, z.ZodLiteral<"chrome-beta">, z.ZodLiteral<"chromium">, z.ZodNull]>>;
|
|
14
14
|
type BrowserChannel = z.infer<typeof BrowserChannelSchema>;
|
|
15
15
|
declare const ViewportSchema: z.ZodObject<{
|
|
16
16
|
width: z.ZodNumber;
|
|
@@ -260,7 +260,7 @@ declare const UnotestConfigSchema: z.ZodObject<{
|
|
|
260
260
|
reuseExistingServer?: boolean | undefined;
|
|
261
261
|
}>>;
|
|
262
262
|
browsers: z.ZodArray<z.ZodEnum<["chromium", "firefox", "webkit"]>, "many">;
|
|
263
|
-
channel: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"chrome">, z.ZodLiteral<"msedge">, z.ZodLiteral<"chrome-beta">, z.ZodNull]>>;
|
|
263
|
+
channel: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"chrome">, z.ZodLiteral<"msedge">, z.ZodLiteral<"chrome-beta">, z.ZodLiteral<"chromium">, z.ZodNull]>>;
|
|
264
264
|
viewport: z.ZodObject<{
|
|
265
265
|
width: z.ZodNumber;
|
|
266
266
|
height: z.ZodNumber;
|
|
@@ -271,6 +271,19 @@ declare const UnotestConfigSchema: z.ZodObject<{
|
|
|
271
271
|
width: number;
|
|
272
272
|
height: number;
|
|
273
273
|
}>;
|
|
274
|
+
/** How the browser is started: a profile and extra arguments
|
|
275
|
+
* (`config/launch.ts`). Unset → as before: a fresh browser, a fresh
|
|
276
|
+
* context per scenario. */
|
|
277
|
+
launch: z.ZodOptional<z.ZodObject<{
|
|
278
|
+
userDataDir: z.ZodOptional<z.ZodString>;
|
|
279
|
+
args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
280
|
+
}, "strict", z.ZodTypeAny, {
|
|
281
|
+
args?: string[] | undefined;
|
|
282
|
+
userDataDir?: string | undefined;
|
|
283
|
+
}, {
|
|
284
|
+
args?: string[] | undefined;
|
|
285
|
+
userDataDir?: string | undefined;
|
|
286
|
+
}>>;
|
|
274
287
|
retry: z.ZodObject<{
|
|
275
288
|
count: z.ZodNumber;
|
|
276
289
|
on: z.ZodArray<z.ZodEnum<["transient", "network", "crash"]>, "many">;
|
|
@@ -454,6 +467,8 @@ declare const UnotestConfigSchema: z.ZodObject<{
|
|
|
454
467
|
uploadDir?: string | undefined;
|
|
455
468
|
}>;
|
|
456
469
|
}, "strip", z.ZodTypeAny, {
|
|
470
|
+
defaultTimeoutMs: number;
|
|
471
|
+
defaultNavigationTimeoutMs: number;
|
|
457
472
|
browsers: ("chromium" | "firefox" | "webkit")[];
|
|
458
473
|
viewport: {
|
|
459
474
|
width: number;
|
|
@@ -479,8 +494,6 @@ declare const UnotestConfigSchema: z.ZodObject<{
|
|
|
479
494
|
dialogPolicy: "accept" | "dismiss" | "manual";
|
|
480
495
|
testDir: string;
|
|
481
496
|
helpersDir: string;
|
|
482
|
-
defaultTimeoutMs: number;
|
|
483
|
-
defaultNavigationTimeoutMs: number;
|
|
484
497
|
linter: {
|
|
485
498
|
enabled: boolean;
|
|
486
499
|
rules: Partial<Record<"lint:deep-css" | "lint:xpath" | "lint:obfuscated-class" | "lint:pause-explicit" | "lint:disambig-by-index" | "lint:evaluate-discouraged" | "lint:scenario-in-root" | "lint:mustache-in-dsl" | "lint:goto-concat" | "lint:regex-invalid" | "lint:echo-assert" | "lint:api-call-file-body" | "lint:lint-ok-missing-reason" | "lint:flow-returns-value" | "lint:legacy-layout" | "lint:external-variable-undeclared" | "lint:one-test-per-file" | "validator:unknown-function" | "validator:arity" | "validator:arg-kind" | "validator:step-coverage" | "validator:step-shape" | "validator:meta-shape" | "validator:function-shape" | "validator:for-shape" | "validator:if-shape" | "validator:var-shape" | "validator:unsupported-statement" | "validator:unsupported-expression" | "validator:string-concat" | "validator:semantic-loss" | "validator:list-arg" | "validator:wrapped-format", "off" | "warn" | "error">>;
|
|
@@ -513,9 +526,15 @@ declare const UnotestConfigSchema: z.ZodObject<{
|
|
|
513
526
|
command: string;
|
|
514
527
|
reuseExistingServer: boolean;
|
|
515
528
|
} | undefined;
|
|
516
|
-
channel?: "chrome" | "msedge" | "chrome-beta" | null | undefined;
|
|
529
|
+
channel?: "chrome" | "msedge" | "chrome-beta" | "chromium" | null | undefined;
|
|
530
|
+
launch?: {
|
|
531
|
+
args?: string[] | undefined;
|
|
532
|
+
userDataDir?: string | undefined;
|
|
533
|
+
} | undefined;
|
|
517
534
|
storageState?: string | undefined;
|
|
518
535
|
}, {
|
|
536
|
+
defaultTimeoutMs: number;
|
|
537
|
+
defaultNavigationTimeoutMs: number;
|
|
519
538
|
browsers: ("chromium" | "firefox" | "webkit")[];
|
|
520
539
|
viewport: {
|
|
521
540
|
width: number;
|
|
@@ -541,8 +560,6 @@ declare const UnotestConfigSchema: z.ZodObject<{
|
|
|
541
560
|
dialogPolicy: "accept" | "dismiss" | "manual";
|
|
542
561
|
testDir: string;
|
|
543
562
|
helpersDir: string;
|
|
544
|
-
defaultTimeoutMs: number;
|
|
545
|
-
defaultNavigationTimeoutMs: number;
|
|
546
563
|
linter: {
|
|
547
564
|
enabled: boolean;
|
|
548
565
|
rules: Partial<Record<"lint:deep-css" | "lint:xpath" | "lint:obfuscated-class" | "lint:pause-explicit" | "lint:disambig-by-index" | "lint:evaluate-discouraged" | "lint:scenario-in-root" | "lint:mustache-in-dsl" | "lint:goto-concat" | "lint:regex-invalid" | "lint:echo-assert" | "lint:api-call-file-body" | "lint:lint-ok-missing-reason" | "lint:flow-returns-value" | "lint:legacy-layout" | "lint:external-variable-undeclared" | "lint:one-test-per-file" | "validator:unknown-function" | "validator:arity" | "validator:arg-kind" | "validator:step-coverage" | "validator:step-shape" | "validator:meta-shape" | "validator:function-shape" | "validator:for-shape" | "validator:if-shape" | "validator:var-shape" | "validator:unsupported-statement" | "validator:unsupported-expression" | "validator:string-concat" | "validator:semantic-loss" | "validator:list-arg" | "validator:wrapped-format", "off" | "warn" | "error">>;
|
|
@@ -569,7 +586,11 @@ declare const UnotestConfigSchema: z.ZodObject<{
|
|
|
569
586
|
timeoutMs?: number | undefined;
|
|
570
587
|
reuseExistingServer?: boolean | undefined;
|
|
571
588
|
} | undefined;
|
|
572
|
-
channel?: "chrome" | "msedge" | "chrome-beta" | null | undefined;
|
|
589
|
+
channel?: "chrome" | "msedge" | "chrome-beta" | "chromium" | null | undefined;
|
|
590
|
+
launch?: {
|
|
591
|
+
args?: string[] | undefined;
|
|
592
|
+
userDataDir?: string | undefined;
|
|
593
|
+
} | undefined;
|
|
573
594
|
storageState?: string | undefined;
|
|
574
595
|
schedules?: {
|
|
575
596
|
collection: string;
|
package/dist/config/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var
|
|
1
|
+
function _0x256a(){var _0x2d855b=['DMfSAwrHDg9YoMfYAxr5','BNvTyMvY','BgLUDdPZy2vUyxjPBY1PBI1YB290','D2fYBG','nJeZmte2AKDnANvL','zgLZBwLZCW','C3rYAw5N','y2HYB21PDw0','mZG1ndiWsef6D2vI','DhjHBNnPzw50','BwLU','mtm2whLjC1DY','DMfSAwrHDg9YoMLMlxnOyxbL','CMvJB3jK','mtbgvxjVq1u','DMfSAwrHDg9YoMXPC3qTyxjN','BgLUDdPLy2HVlwfZC2vYDa','BgL0zxjHBa','C3rKAw8','mte5ndbnsffUthm','zxjYB3i','lNvUB3rLC3qVzMfPBhvYzxm','BgLUDdPMBg93lxjLDhvYBNmTDMfSDwu','DMfSAwrHDg9YoNDYyxbWzwqTzM9YBwf0','BgLUDdPLDMfSDwf0zs1KAxnJB3vYywDLza','BxnLzgDL','BwfUDwfS','DMfSAwrHDg9YoM1LDgeTC2HHCgu','Dw5VDgvZDc9LmMu','DMfSAwrHDg9YoMzVCI1ZAgfWzq','yM9VBgvHBG','BMv0D29YAW','zw51Bq','BgLUDdPHCgKTy2fSBc1MAwXLlwjVzhK','BgLUDdPLEhrLCM5HBc12yxjPywjSzs11BMrLy2XHCMvK','BNvSBa','BgLUDdPKzwvWlwnZCW','B3b0Aw9UywW','BgLUDdPNB3rVlwnVBMnHDa','BgLUDdPWyxvZzs1LEhbSAwnPDa','Aw50','Cg9ZAxrPDMu','DMfSAwrHDg9YoNzHCI1ZAgfWzq','DMfSAwrHDg9YoNvUC3vWCg9YDgvKlwv4ChjLC3nPB24','Dw5PB24','zgvMyxvSDa','B2jQzwn0','ndm0mZvQCNz2z2C','BgLUDdPTDxn0ywnOzs1PBI1KC2W','oda1ndi4A0fpA1nY','BgLUDdP4Cgf0Aa','DxjS','DMfSAwrHDg9YoMz1BMn0Aw9UlxnOyxbL','D2vIA2L0','BgLUDdPVBMuTDgvZDc1WzxiTzMLSzq','ntiZnty5AezftfHx','ywnJzxb0','mtK1nZLKu1DzzuK','y2HYB21LlwjLDge','yxjYyxK','DMfSAwrHDg9YoNn0zxaTy292zxjHz2u','BgLUDdPSzwDHy3KTBgf5B3v0','C3rYAwn0'];_0x256a=function(){return _0x2d855b;};return _0x256a();}var _0x4d6978=_0x9989;(function(_0x376e58,_0x23aa0d){var _0x1502ed={_0x526bfd:0x1cc,_0x4efeca:0x1b6,_0x19deee:0x1d1,_0x5a637f:0x1c6,_0x490284:0x1ae,_0x57ae97:0x1c9},_0x3400bf=_0x9989,_0x3b6b5d=_0x376e58();while(!![]){try{var _0x2269a6=parseInt(_0x3400bf(0x1b8))/0x1*(parseInt(_0x3400bf(_0x1502ed._0x526bfd))/0x2)+parseInt(_0x3400bf(_0x1502ed._0x4efeca))/0x3+parseInt(_0x3400bf(_0x1502ed._0x19deee))/0x4+-parseInt(_0x3400bf(_0x1502ed._0x5a637f))/0x5+parseInt(_0x3400bf(0x1c2))/0x6+parseInt(_0x3400bf(_0x1502ed._0x490284))/0x7*(-parseInt(_0x3400bf(_0x1502ed._0x57ae97))/0x8)+-parseInt(_0x3400bf(0x1b0))/0x9;if(_0x2269a6===_0x23aa0d)break;else _0x3b6b5d['push'](_0x3b6b5d['shift']());}catch(_0x563132){_0x3b6b5d['push'](_0x3b6b5d['shift']());}}}(_0x256a,0x19c38));import{z as _0x22039d}from'zod';function _0x9989(_0x1db101,_0x2f10b3){_0x1db101=_0x1db101-0x1a1;var _0x256a05=_0x256a();var _0x9989e2=_0x256a05[_0x1db101];if(_0x9989['HbxpAQ']===undefined){var _0x23eb16=function(_0x1980ed){var _0x4af31c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x22039d='',_0x9864f='';for(var _0x45cdba=0x0,_0x571d47,_0x305ce7,_0x1e4659=0x0;_0x305ce7=_0x1980ed['charAt'](_0x1e4659++);~_0x305ce7&&(_0x571d47=_0x45cdba%0x4?_0x571d47*0x40+_0x305ce7:_0x305ce7,_0x45cdba++%0x4)?_0x22039d+=String['fromCharCode'](0xff&_0x571d47>>(-0x2*_0x45cdba&0x6)):0x0){_0x305ce7=_0x4af31c['indexOf'](_0x305ce7);}for(var _0x46c5da=0x0,_0x17dbd9=_0x22039d['length'];_0x46c5da<_0x17dbd9;_0x46c5da++){_0x9864f+='%'+('00'+_0x22039d['charCodeAt'](_0x46c5da)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x9864f);};_0x9989['sFnunZ']=_0x23eb16,_0x9989['FgKnyf']={},_0x9989['HbxpAQ']=!![];}var _0x256e04=_0x256a05[0x0],_0x4f800b=_0x1db101+_0x256e04,_0x5ef601=_0x9989['FgKnyf'][_0x4f800b];return!_0x5ef601?(_0x9989e2=_0x9989['sFnunZ'](_0x9989e2),_0x9989['FgKnyf'][_0x4f800b]=_0x9989e2):_0x9989e2=_0x5ef601,_0x9989e2;}import{z}from'zod';import{UnotestError}from'@unotest/core';var LaunchConfigSchema=z['object']({'userDataDir':z[_0x4d6978(0x1c4)]()[_0x4d6978(0x1c8)](0x1)[_0x4d6978(0x1a4)](),'args':z[_0x4d6978(0x1ba)](z[_0x4d6978(0x1c4)]()['min'](0x1))[_0x4d6978(0x1a4)]()})[_0x4d6978(0x1bd)](),BrowserSchema=_0x22039d['enum']([_0x4d6978(0x1c5),'firefox',_0x4d6978(0x1b4)]),BrowserChannelSchema=_0x22039d[_0x4d6978(0x1ab)]([_0x22039d[_0x4d6978(0x1cf)]('chrome'),_0x22039d['literal'](_0x4d6978(0x1d7)),_0x22039d[_0x4d6978(0x1cf)](_0x4d6978(0x1b9)),_0x22039d[_0x4d6978(0x1cf)]('chromium'),_0x22039d[_0x4d6978(0x1a2)]()])[_0x4d6978(0x1a4)](),ViewportSchema=_0x22039d[_0x4d6978(0x1ad)]({'width':_0x22039d[_0x4d6978(0x1bf)]()[_0x4d6978(0x1a7)]()['positive'](),'height':_0x22039d[_0x4d6978(0x1bf)]()[_0x4d6978(0x1a7)]()[_0x4d6978(0x1a8)]()}),RetryReasonSchema=_0x22039d[_0x4d6978(0x1de)]([_0x4d6978(0x1c7),_0x4d6978(0x1dd),'crash']),RetryConfigSchema=_0x22039d['object']({'count':_0x22039d[_0x4d6978(0x1bf)]()[_0x4d6978(0x1a7)]()[_0x4d6978(0x1c8)](0x0)['max'](0xa),'on':_0x22039d['array'](RetryReasonSchema)}),FailureBundleConfigSchema=_0x22039d[_0x4d6978(0x1ad)]({'tier1':_0x22039d[_0x4d6978(0x1cf)](!![])[_0x4d6978(0x1ac)](!![]),'tier2':_0x22039d['boolean'](),'tier3':_0x22039d[_0x4d6978(0x1ad)]({'network':_0x22039d['boolean'](),'video':_0x22039d['boolean']()}),'retention':_0x22039d[_0x4d6978(0x1ad)]({'runs':_0x22039d[_0x4d6978(0x1bf)]()['int']()[_0x4d6978(0x1a8)](),'days':_0x22039d[_0x4d6978(0x1bf)]()['int']()[_0x4d6978(0x1a8)]()}),'storageDir':_0x22039d[_0x4d6978(0x1c4)]()[_0x4d6978(0x1c8)](0x1)}),DialogPolicySchema=_0x22039d[_0x4d6978(0x1de)]([_0x4d6978(0x1b7),_0x4d6978(0x1c3),_0x4d6978(0x1d8)]),LinterRuleIdSchema=_0x22039d[_0x4d6978(0x1de)]([_0x4d6978(0x1a3),_0x4d6978(0x1b1),'lint:obfuscated-class',_0x4d6978(0x1a6),'lint:disambig-by-index',_0x4d6978(0x1d6),_0x4d6978(0x1c0),_0x4d6978(0x1af),_0x4d6978(0x1a5),'lint:regex-invalid',_0x4d6978(0x1ce),_0x4d6978(0x1df),'lint:lint-ok-missing-reason',_0x4d6978(0x1d4),_0x4d6978(0x1bc),_0x4d6978(0x1a1),_0x4d6978(0x1b5),'validator:unknown-function',_0x4d6978(0x1be),'validator:arg-kind',_0x4d6978(0x1bb),'validator:step-shape',_0x4d6978(0x1d9),_0x4d6978(0x1b3),_0x4d6978(0x1db),_0x4d6978(0x1ca),_0x4d6978(0x1a9),'validator:unsupported-statement',_0x4d6978(0x1aa),'validator:string-concat','validator:semantic-loss',_0x4d6978(0x1cd),_0x4d6978(0x1d5)]),LinterSeveritySchema=_0x22039d[_0x4d6978(0x1de)](['off',_0x4d6978(0x1c1),'error']),LinterConfigSchema=_0x22039d[_0x4d6978(0x1ad)]({'enabled':_0x22039d[_0x4d6978(0x1dc)](),'rules':_0x22039d[_0x4d6978(0x1cb)](LinterRuleIdSchema,LinterSeveritySchema)}),QueueConfigSchema=_0x22039d[_0x4d6978(0x1ad)]({'enabled':_0x22039d[_0x4d6978(0x1dc)]()['default'](!![]),'concurrency':_0x22039d['number']()[_0x4d6978(0x1a7)]()[_0x4d6978(0x1a8)]()[_0x4d6978(0x1ac)](0x1)}),ScheduleSchema=_0x22039d[_0x4d6978(0x1ad)]({'collection':_0x22039d[_0x4d6978(0x1c4)]()[_0x4d6978(0x1c8)](0x1),'cron':_0x22039d[_0x4d6978(0x1c4)]()[_0x4d6978(0x1c8)](0x1),'env':_0x22039d[_0x4d6978(0x1c4)]()[_0x4d6978(0x1c8)](0x1)[_0x4d6978(0x1a4)](),'prepare':_0x22039d['string']()[_0x4d6978(0x1c8)](0x1)['optional']()}),McpConfigSchema=_0x22039d['object']({'transport':_0x22039d[_0x4d6978(0x1cf)]('stdio')}),SandboxConfigSchema=_0x22039d[_0x4d6978(0x1ad)]({'shellCwd':_0x22039d[_0x4d6978(0x1c4)]()[_0x4d6978(0x1a4)](),'shellTimeoutMs':_0x22039d['number']()[_0x4d6978(0x1a7)]()[_0x4d6978(0x1a8)]()[_0x4d6978(0x1a4)](),'exportSecrets':_0x22039d[_0x4d6978(0x1ba)](_0x22039d['string']())[_0x4d6978(0x1a4)](),'database':_0x22039d[_0x4d6978(0x1c4)]()['optional'](),'apiBaseUrl':_0x22039d[_0x4d6978(0x1c4)]()[_0x4d6978(0x1b2)]()['optional'](),'uploadDir':_0x22039d[_0x4d6978(0x1c4)]()[_0x4d6978(0x1a4)]()}),WebServerConfigSchema=_0x22039d[_0x4d6978(0x1ad)]({'command':_0x22039d[_0x4d6978(0x1c4)]()[_0x4d6978(0x1c8)](0x1),'url':_0x22039d['string']()['url'](),'reuseExistingServer':_0x22039d['boolean']()[_0x4d6978(0x1ac)](!![]),'timeoutMs':_0x22039d[_0x4d6978(0x1bf)]()[_0x4d6978(0x1a7)]()[_0x4d6978(0x1a8)]()[_0x4d6978(0x1ac)](0xea60)}),UnotestConfigSchema=_0x22039d[_0x4d6978(0x1ad)]({'baseUrl':_0x22039d['string']()[_0x4d6978(0x1b2)]()[_0x4d6978(0x1a4)](),'webServer':WebServerConfigSchema[_0x4d6978(0x1a4)](),'browsers':_0x22039d[_0x4d6978(0x1ba)](BrowserSchema)[_0x4d6978(0x1c8)](0x1),'channel':BrowserChannelSchema,'viewport':ViewportSchema,'launch':LaunchConfigSchema['optional'](),'retry':RetryConfigSchema,'failureBundle':FailureBundleConfigSchema,'dialogPolicy':DialogPolicySchema,'storageState':_0x22039d['string']()[_0x4d6978(0x1a4)](),'testDir':_0x22039d[_0x4d6978(0x1c4)]()[_0x4d6978(0x1c8)](0x1),'helpersDir':_0x22039d[_0x4d6978(0x1c4)]()[_0x4d6978(0x1c8)](0x1),'defaultTimeoutMs':_0x22039d[_0x4d6978(0x1bf)]()[_0x4d6978(0x1a7)]()[_0x4d6978(0x1a8)](),'defaultNavigationTimeoutMs':_0x22039d[_0x4d6978(0x1bf)]()[_0x4d6978(0x1a7)]()[_0x4d6978(0x1a8)](),'linter':LinterConfigSchema,'mcp':McpConfigSchema,'queue':QueueConfigSchema,'schedules':_0x22039d[_0x4d6978(0x1ba)](ScheduleSchema)['default']([]),'sandbox':SandboxConfigSchema}),DEFAULT_CONFIG={'browsers':[_0x4d6978(0x1c5)],'viewport':{'width':0x500,'height':0x2d0},'retry':{'count':0x0,'on':[_0x4d6978(0x1c7)]},'failureBundle':{'tier1':!![],'tier2':!![],'tier3':{'network':![],'video':![]},'retention':{'runs':0x14,'days':0x7},'storageDir':_0x4d6978(0x1d3)},'dialogPolicy':_0x4d6978(0x1b7),'testDir':_0x4d6978(0x1da),'helpersDir':'unotest/e2e/_helpers','defaultTimeoutMs':0xbb8,'defaultNavigationTimeoutMs':0x7530,'linter':{'enabled':!![],'rules':{'lint:deep-css':_0x4d6978(0x1c1),'lint:xpath':_0x4d6978(0x1c1),'lint:obfuscated-class':_0x4d6978(0x1c1),'lint:pause-explicit':'warn','lint:disambig-by-index':'off','lint:evaluate-discouraged':_0x4d6978(0x1c1),'lint:scenario-in-root':_0x4d6978(0x1d2),'lint:mustache-in-dsl':_0x4d6978(0x1d2),'lint:goto-concat':_0x4d6978(0x1c1),'lint:regex-invalid':'error','lint:echo-assert':'warn','lint:lint-ok-missing-reason':'warn','lint:flow-returns-value':_0x4d6978(0x1c1),'lint:legacy-layout':'warn','lint:external-variable-undeclared':_0x4d6978(0x1d2),'lint:one-test-per-file':_0x4d6978(0x1c1),'validator:unknown-function':_0x4d6978(0x1d2)}},'mcp':{'transport':_0x4d6978(0x1d0)},'queue':{'enabled':!![],'concurrency':0x1},'schedules':[],'sandbox':{}};export{BrowserChannelSchema,BrowserSchema,DEFAULT_CONFIG,DialogPolicySchema,FailureBundleConfigSchema,LinterConfigSchema,LinterRuleIdSchema,LinterSeveritySchema,McpConfigSchema,QueueConfigSchema,RetryConfigSchema,RetryReasonSchema,SandboxConfigSchema,ScheduleSchema,UnotestConfigSchema,ViewportSchema,WebServerConfigSchema};
|
package/dist/driver/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { E as ElementHint, S as ScreenshotOptions, N as NetworkEntry, W as WebDriver, L as LaunchOptions, C as ContextOptions, D as DriverContext, A as AttachOptions } from '../interfaces-
|
|
2
|
-
export { a as ActionTimeout, b as CheckOptions, c as ClickOptions, d as CookieOptions, e as DriverPage, F as FillOptions, G as GotoOptions, H as HoverOptions, f as NavigationOptions, P as PressOptions, R as ReloadOptions, g as SelectOptions, V as Viewport, h as WaitOptions, i as WaitState } from '../interfaces-
|
|
1
|
+
import { E as ElementHint, S as ScreenshotOptions, N as NetworkEntry, W as WebDriver, L as LaunchOptions, C as ContextOptions, D as DriverContext, A as AttachOptions } from '../interfaces-7nMNCr2h.js';
|
|
2
|
+
export { a as ActionTimeout, b as CheckOptions, c as ClickOptions, d as CookieOptions, e as DriverPage, F as FillOptions, G as GotoOptions, H as HoverOptions, f as NavigationOptions, P as PressOptions, R as ReloadOptions, g as SelectOptions, V as Viewport, h as WaitOptions, i as WaitState } from '../interfaces-7nMNCr2h.js';
|
|
3
3
|
import '@unotest/protocol';
|
|
4
4
|
import '../config/schema.js';
|
|
5
5
|
import 'zod';
|
package/dist/driver/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x3695c4=_0x2469;(function(_0x1cd99f,_0x5101c9){const _0x52e71a={_0x1dae44:0x132,_0x1f6b16:0x144,_0x2422f8:0x164,_0x1b0c91:0x170},_0x2ad1dc=_0x2469,_0x2158f3=_0x1cd99f();while(!![]){try{const _0xa1b40=parseInt(_0x2ad1dc(0x13c))/0x1*(-parseInt(_0x2ad1dc(_0x52e71a._0x1dae44))/0x2)+parseInt(_0x2ad1dc(0x158))/0x3+-parseInt(_0x2ad1dc(0x178))/0x4+parseInt(_0x2ad1dc(_0x52e71a._0x1f6b16))/0x5+-parseInt(_0x2ad1dc(_0x52e71a._0x2422f8))/0x6*(parseInt(_0x2ad1dc(0x18c))/0x7)+-parseInt(_0x2ad1dc(0x187))/0x8+parseInt(_0x2ad1dc(_0x52e71a._0x1b0c91))/0x9*(parseInt(_0x2ad1dc(0x161))/0xa);if(_0xa1b40===_0x5101c9)break;else _0x2158f3['push'](_0x2158f3['shift']());}catch(_0x49c6e8){_0x2158f3['push'](_0x2158f3['shift']());}}}(_0x2dfa,0x48e77));var __defProp=Object[_0x3695c4(0x154)],__name=(_0x230de5,_0x25d2fc)=>__defProp(_0x230de5,_0x3695c4(0x182),{'value':_0x25d2fc,'configurable':!![]});function subscribe(_0xd9d3fe,_0x4faf37){const _0x1a35b6={_0x154d7c:0x135},_0x1e2a17=_0x3695c4;return _0xd9d3fe[_0x1e2a17(_0x1a35b6._0x154d7c)](_0x4faf37),()=>{const _0x2f11bd=_0x1e2a17;_0xd9d3fe[_0x2f11bd(0x140)](_0x4faf37);};}__name(subscribe,_0x3695c4(0x13b));import{UnotestError}from'@unotest/core';function _0x2dfa(){const _0x42c780=['z290BW','zgvMAw5LuhjVCgvYDhK','C2nYzwvUC2HVDa','CgfNzuXPC3q','z29cywnR','nZC1ntaWDKvIrKXx','B25ozxDqywDL','y2XVC2vgywTLugfNzq','zxzHBhvHDgvpBKXVy2f0B3i','y29UBMvJDfnOyxjLza','D2fPDezVCLrLEhq','BgvUz3rO','y2HLy2TLzfn0yxrL','z2v0q29VA2LL','oti2ndm4mhDpzvfPta','y29UBMvJDfnOyxjLzcbUB3qGC3vWCg9YDgvKigj5iezHA2vxzwjeCML2zxi','C2nVCgu','ndGZndaYCKPpz1f2','C3rLChm','C2nYzwvUC2HVDej5DgvZ','CgfNzxm','BMv0D29YA0vUDhjPzxm','y2XVC2u','y29UDgv4Dhm','BMv3q29UDgv4Da','Aw5UzxjuzxH0qNLezwzHDwX0','y2fSBhm','Dw5JAgvJAW','z2v0tg9JywXtDg9YywDL','ourMthDysa','zxHPDezYyw1L','y29UC29SzuvUDhjPzxm','AxnwAxnPyMXL','zMLSBa','y2HLy2S','ywjVDxq6yMXHBMS','AxneAxnHyMXLzej5rgvMyxvSDa','nZe0nduYDgXpD1fl','zxHPDezYyw1LignHBgXLzcb3AxrOig5VigzYyw1Lig9UihrOzsbZDgfJAW','C2v0qwn0AxzLugfNzq','ywn0AxzLugfNzq','Aw5WDxrwywX1zq','Cg9WDxbpBKnSAwnR','zNjHBwvtDgfJAW','yxr0CMLIDxrLC0j5rgvMyxvSDa','y29VA2LLu3rHDgu','CMvJB3jKzxi','BMfTzq','iJ48l2rPDJ4','ywn0AxzLswr4','Bgf1BMnOzwq','lNbHz2uW','nde1odGWogflv3fbAa','zwXLBwvUDeHPBNrcEvjLzG','lNbHz2u','DgL0Bgu','BMv3q29UDgv4DcbJywXSzwqGyMvMB3jLigXHDw5JAcGP','mJfrvM5rzgO','yxr0ywnOrxHPC3rPBMCGBM90ihn1ChbVCNrLzcbIEsbgywTLv2vIrhjPDMvY','Bwv0Ag9K','zMfRzsb0AxrSzq','DxbSB2fKrMLSzq','yxr0ywnOrxHPC3rPBMC','Bgf1BMnO','zxjYB3jpBK5LEhrby3rPB24','BMv3ugfNzuXPC3rLBMvYCW','Ag92zxi','Dgv4DenVBNrLBNq','C2v0tg9JywXtDg9YywDL','z2v0qxr0CMLIDxrL','tg9JyxrVCKvYCM9Y','Cg9W','Dgv4DenVBNrLBNrcEurLzMf1Bhq','zNjVBq','ChvZAa','zg91yMXLq2XPy2S','C2nYzwvUC2HVDevSzw1LBNq','A2LUza','zhjHz0fUzerYB3a','z29gB3j3yxjK','D2fPDezVCKXVywrtDgf0zq','B3v0zxjive1m','zw1PDezHA2vqB3b1Ca','AxnwAxnPyMXLqNLezwzHDwX0','zMLSDgvY','CMvM','y3r4','rhjPDMvYrxjYB3i','rMfRzvbHz2u','zNvUy3rPB24','CMvJB3jK','AxneAxnHyMXLza','D2fPDezVCG','Aw5UzxjuzxH0','y29VA2LLCW','D2fPDezVCK5HDMLNyxrPB24','CMvSB2fK','mtrOsKHhBM8','C2v0q29VA2LL','y3jLyxrLuMvJB3jKzxi','ywrK','C2vSzwn0t3b0Aw9U','pgrPDIbKyxrHlxvUB3rLC3qTCMvMpsi','y291BNq','y3vYCMvUDfvYBa','rMfRzvDLyKrYAxzLCG','C3vIC2nYAwjL','nJC5odvdshfJrw0','zhjPDMvY','rMfRzunVBNrLEhq','y2XPCgjVyxjKugfZDgu','zgvSzxrL','C2f2zvn0B3jHz2vtDgf0zq','zxzHBhvHDgu','Aw5WDxrwywX1zuj5rgvMyxvSDa','mJy0ody4nvrbqu5tzW','C3bSAwnL','ChjLC3m','y2XPy2S','yMvOyxzPB3i','Bg9JywXtDg9YywDLu3rHDgu','Bg9JywXtDg9YywDL','DxjS','D2fPDezVCLvYBa','Aw5PDgLHBfvYBa','Bwf5yMvuAhjVDW','zw50zxjgCMfTzq','BM8Gywn0AxzLihbHz2uGAw4Gy29UDgv4Da','DhLWzq','C2nYB2XSsw50B1zPzxC'];_0x2dfa=function(){return _0x42c780;};return _0x2dfa();}var DriverError=class extends UnotestError{static{__name(this,_0x3695c4(0x128));}},LocatorError=class extends UnotestError{static{__name(this,_0x3695c4(0x199));}};function _0x2469(_0x264c37,_0x3f086a){_0x264c37=_0x264c37-0x121;const _0x2dfa80=_0x2dfa();let _0x2469d3=_0x2dfa80[_0x264c37];if(_0x2469['DWWRjd']===undefined){var _0x4f910f=function(_0x4777fe){const _0x562014='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x230de5='',_0x25d2fc='';for(let _0xd9d3fe=0x0,_0x4faf37,_0x17afd7,_0x10d015=0x0;_0x17afd7=_0x4777fe['charAt'](_0x10d015++);~_0x17afd7&&(_0x4faf37=_0xd9d3fe%0x4?_0x4faf37*0x40+_0x17afd7:_0x17afd7,_0xd9d3fe++%0x4)?_0x230de5+=String['fromCharCode'](0xff&_0x4faf37>>(-0x2*_0xd9d3fe&0x6)):0x0){_0x17afd7=_0x562014['indexOf'](_0x17afd7);}for(let _0x2d7206=0x0,_0x1e9c74=_0x230de5['length'];_0x2d7206<_0x1e9c74;_0x2d7206++){_0x25d2fc+='%'+('00'+_0x230de5['charCodeAt'](_0x2d7206)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x25d2fc);};_0x2469['CBrzCq']=_0x4f910f,_0x2469['iwBckE']={},_0x2469['DWWRjd']=!![];}const _0x2b262e=_0x2dfa80[0x0],_0xb57c3a=_0x264c37+_0x2b262e,_0xaeddf3=_0x2469['iwBckE'][_0xb57c3a];return!_0xaeddf3?(_0x2469d3=_0x2469['CBrzCq'](_0x2469d3),_0x2469['iwBckE'][_0xb57c3a]=_0x2469d3):_0x2469d3=_0xaeddf3,_0x2469d3;}function createRecorder(){const _0x4c346f=_0x3695c4,_0x17afd7=[];let _0x10d015=0x0;return{'push':__name(_0x2d7206=>_0x17afd7['push']({..._0x2d7206,'seq':_0x10d015++}),'push'),'calls':__name(()=>_0x17afd7,_0x4c346f(0x16d))};}__name(createRecorder,_0x3695c4(0x134));var FakePage=class{constructor(_0x1e9c74,_0x42ea4b,_0x18dc98,_0x38d97b){const _0x19952e={_0x1095a1:0x139},_0x2dba1d=_0x3695c4;this[_0x2dba1d(0x181)]=_0x1e9c74,this['behavior']=_0x42ea4b,this['scope']=_0x18dc98,this[_0x2dba1d(_0x19952e._0x1095a1)]=_0x38d97b;}[_0x3695c4(0x181)];[_0x3695c4(0x148)];['scope'];static{__name(this,_0x3695c4(0x129));}[_0x3695c4(0x139)];['onAfterClick'];[_0x3695c4(0x12b)](_0x289b23,_0x28913e){const _0x1df281={_0x12939c:0x181,_0x50b771:0x163},_0x332539=_0x3695c4;this[_0x332539(_0x1df281._0x12939c)][_0x332539(0x19d)]({'scope':this[_0x332539(_0x1df281._0x50b771)],'method':_0x289b23,'args':_0x28913e});}[_0x3695c4(0x14e)](){const _0x1d5f42={_0x5544d8:0x193,_0xc2e48f:0x193},_0x3c7816=_0x3695c4;if(this['behavior'][_0x3c7816(0x193)]){const _0x592ff2=this[_0x3c7816(0x148)][_0x3c7816(_0x1d5f42._0x5544d8)];this[_0x3c7816(0x148)][_0x3c7816(_0x1d5f42._0xc2e48f)]=void 0x0;throw _0x592ff2;}}[_0x3695c4(0x14b)](){const _0x4accca={_0x29895c:0x139},_0x316248=_0x3695c4;return this[_0x316248(_0x4accca._0x29895c)];}async[_0x3695c4(0x18a)](){const _0x5eb9b1=_0x3695c4;return this[_0x5eb9b1(0x12b)]('title',[]),_0x5eb9b1(0x18f);}async['click'](_0x444697,_0x5b7259){const _0x146a3d=_0x3695c4;this[_0x146a3d(0x12b)](_0x146a3d(0x147),[_0x444697,_0x5b7259]),this['maybeThrow'](),this['onAfterClick']?.();}async['doubleClick'](_0x52b8da,_0x597e3c){const _0x256530={_0x1d290b:0x14e},_0x23f99a=_0x3695c4;this[_0x23f99a(0x12b)](_0x23f99a(0x19e),[_0x52b8da,_0x597e3c]),this[_0x23f99a(_0x256530._0x1d290b)]();}async[_0x3695c4(0x174)](_0x31f0cd,_0x125a52,_0x1de587){const _0x6dc283={_0x175a56:0x174},_0x42cf79=_0x3695c4;this[_0x42cf79(0x12b)](_0x42cf79(_0x6dc283._0x175a56),[_0x31f0cd,_0x125a52,_0x1de587]),this['maybeThrow']();}async[_0x3695c4(0x146)](_0x184c64,_0x19ce36,_0x1d3700){const _0x3f5934={_0x37ef2e:0x12b},_0x5c736b=_0x3695c4;this[_0x5c736b(_0x3f5934._0x37ef2e)]('press',[_0x184c64,_0x19ce36,_0x1d3700]),this['maybeThrow']();}async[_0x3695c4(0x175)](_0x598514,_0x1cec71){const _0xb740a4={_0x7b976c:0x175},_0x17d1f1=_0x3695c4;this[_0x17d1f1(0x12b)](_0x17d1f1(_0xb740a4._0x7b976c),[_0x598514,_0x1cec71]),this[_0x17d1f1(0x14e)]();}async[_0x3695c4(0x16e)](_0x4dda3d,_0x3d017c){const _0xb072f1={_0x507e4b:0x16e,_0x278018:0x14e},_0x2851df=_0x3695c4;this['record'](_0x2851df(_0xb072f1._0x507e4b),[_0x4dda3d,_0x3d017c]),this[_0x2851df(_0xb072f1._0x278018)]();}async['selectOption'](_0x52c094,_0x11627e,_0x1f1f90){const _0x198f83={_0xd1d014:0x12b},_0x2c1da4=_0x3695c4;this[_0x2c1da4(_0x198f83._0xd1d014)](_0x2c1da4(0x136),[_0x52c094,_0x11627e,_0x1f1f90]),this[_0x2c1da4(0x14e)]();}async[_0x3695c4(0x195)](_0x30917f,_0x26226b){const _0x28cec8=_0x3695c4;this[_0x28cec8(0x12b)]('hover',[_0x30917f,_0x26226b]),this['maybeThrow']();}async[_0x3695c4(0x152)](_0x4c553d){const _0x58a30={_0x41d77a:0x12b,_0x1b1ea1:0x152},_0x33e5ab=_0x3695c4;this[_0x33e5ab(_0x58a30._0x41d77a)](_0x33e5ab(_0x58a30._0x1b1ea1),[_0x4c553d]),this[_0x33e5ab(0x14e)]();}async[_0x3695c4(0x1a1)](_0x4a466b,_0x13ac5a,_0x465c85){const _0x47e780=_0x3695c4;this[_0x47e780(0x12b)]('dragAndDrop',[_0x4a466b,_0x13ac5a,_0x465c85]),this['maybeThrow']();}async['uploadFile'](_0x129367,_0x277839){const _0xf06c3e={_0x27938c:0x12b,_0x33d922:0x190,_0x249571:0x14e},_0x476ba4=_0x3695c4;this[_0x476ba4(_0xf06c3e._0x27938c)](_0x476ba4(_0xf06c3e._0x33d922),[_0x129367,_0x277839]),this[_0x476ba4(_0xf06c3e._0x249571)]();}async[_0x3695c4(0x13f)](_0x136d37,_0x5ce226){const _0x231831={_0xb750e6:0x12b,_0x4c33c3:0x14e},_0x4fda46=_0x3695c4;this[_0x4fda46(_0x231831._0xb750e6)](_0x4fda46(0x13f),[_0x136d37,_0x5ce226]),this[_0x4fda46(_0x231831._0x4c33c3)]();}async[_0x3695c4(0x138)](_0x21b88d){const _0x11515b={_0x3724bb:0x148},_0x1259db=_0x3695c4;return this[_0x1259db(0x12b)](_0x1259db(0x138),[_0x21b88d]),this[_0x1259db(_0x11515b._0x3724bb)]['countByDefault']??0x1;}async[_0x3695c4(0x196)](_0x415f4b){const _0x529195={_0x508c93:0x196,_0x575c34:0x19b},_0x3e8600=_0x3695c4;return this['record'](_0x3e8600(_0x529195._0x508c93),[_0x415f4b]),this[_0x3e8600(0x148)][_0x3e8600(_0x529195._0x575c34)]??'';}async[_0x3695c4(0x12e)](_0x58b54f){const _0x7da497={_0xedaef4:0x12e,_0x41af57:0x19b},_0x57481f=_0x3695c4;return this['record'](_0x57481f(_0x7da497._0xedaef4),[_0x58b54f]),this[_0x57481f(0x148)][_0x57481f(0x16c)]??this['behavior'][_0x57481f(_0x7da497._0x41af57)]??'';}async[_0x3695c4(0x17c)](_0x4693ea){const _0xadbbf6={_0x30276b:0x12b,_0x426d68:0x17c,_0x52ec2c:0x148},_0x577fc4=_0x3695c4;return this[_0x577fc4(_0xadbbf6._0x30276b)](_0x577fc4(_0xadbbf6._0x426d68),[_0x4693ea]),this[_0x577fc4(_0xadbbf6._0x52ec2c)][_0x577fc4(0x143)]??'';}async['checkedState'](_0x556e00){const _0x12738b={_0xcbfb02:0x12b,_0xda9c8a:0x15f,_0x2c044a:0x148},_0x3ee6bf=_0x3695c4;return this[_0x3ee6bf(_0x12738b._0xcbfb02)](_0x3ee6bf(_0x12738b._0xda9c8a),[_0x556e00]),this[_0x3ee6bf(_0x12738b._0x2c044a)]['checkedStateByDefault']??null;}async[_0x3695c4(0x173)](_0x100211){const _0x382a4b={_0x56b35e:0x148},_0x1baa4d=_0x3695c4;return this[_0x1baa4d(0x12b)]('isVisible',[_0x100211]),this[_0x1baa4d(_0x382a4b._0x56b35e)][_0x1baa4d(0x124)]??!![];}async['isDisabled'](_0x354c1c){const _0x13917f={_0x24e365:0x148,_0x5d8fd5:0x177},_0x57a6e6=_0x3695c4;return this['record'](_0x57a6e6(0x12c),[_0x354c1c]),this[_0x57a6e6(_0x13917f._0x24e365)][_0x57a6e6(_0x13917f._0x5d8fd5)]??![];}async[_0x3695c4(0x198)](_0x33fd45,_0x2c0025){const _0x4d6afd={_0x4b8201:0x12b,_0x2947c5:0x198,_0x27ddd7:0x148},_0x86a8b4=_0x3695c4;return this[_0x86a8b4(_0x4d6afd._0x4b8201)](_0x86a8b4(_0x4d6afd._0x2947c5),[_0x33fd45,_0x2c0025]),this[_0x86a8b4(_0x4d6afd._0x27ddd7)][_0x86a8b4(0x17f)]?.[_0x2c0025]??null;}async[_0x3695c4(0x12d)](_0x286a06,_0x56b70c){const _0x3b4c5f={_0x3868d1:0x12d},_0x56d619=_0x3695c4;this[_0x56d619(0x12b)](_0x56d619(_0x3b4c5f._0x3868d1),[_0x286a06,_0x56b70c]);}async[_0x3695c4(0x14c)](_0x325bf2,_0x3ca9a8){const _0x2d0547=_0x3695c4;this[_0x2d0547(0x12b)](_0x2d0547(0x14c),[_0x325bf2,_0x3ca9a8]);}async[_0x3695c4(0x15d)](_0x46c970,_0xee1c0d){const _0x2d55e7=_0x3695c4;this[_0x2d55e7(0x12b)](_0x2d55e7(0x15d),[_0x46c970,_0xee1c0d]);}async['waitForNavigation'](_0x60859c){const _0x22de98=_0x3695c4;this[_0x22de98(0x12b)](_0x22de98(0x130),[_0x60859c]);}async[_0x3695c4(0x121)](_0xbb0c03,_0x290cb4){const _0x50d4f9=_0x3695c4;this[_0x50d4f9(0x12b)](_0x50d4f9(0x121),[_0xbb0c03,_0x290cb4]);}async['goto'](_0x13a69e,_0x3cf9cf){const _0x5e55f5={_0x3e3920:0x12b},_0x728e0b=_0x3695c4;this[_0x728e0b(_0x5e55f5._0x3e3920)](_0x728e0b(0x153),[_0x13a69e,_0x3cf9cf]),this[_0x728e0b(0x139)]=_0x13a69e;}async[_0x3695c4(0x131)](_0x4c5f0b){const _0xcef00e={_0x393680:0x12b,_0x4efa41:0x131},_0x4cde05=_0x3695c4;this[_0x4cde05(_0xcef00e._0x393680)](_0x4cde05(_0xcef00e._0x4efa41),[_0x4c5f0b]);}async[_0x3695c4(0x157)](_0x3b6678){const _0x448bed=_0x3695c4;this[_0x448bed(0x12b)](_0x448bed(0x157),[_0x3b6678]);}async[_0x3695c4(0x1a2)](_0x539c5a){const _0x3d8893={_0x4fb60e:0x12b},_0x59fc70=_0x3695c4;this[_0x59fc70(_0x3d8893._0x4fb60e)](_0x59fc70(0x1a2),[_0x539c5a]);}async[_0x3695c4(0x142)](_0x164a04){const _0x27f59d={_0x33ab5b:0x12b},_0x540204=_0x3695c4;return this[_0x540204(_0x27f59d._0x33ab5b)]('evaluate',[_0x164a04]),this['behavior']['evaluateResult'];}async['evaluateOnLocator'](_0x2dba6b,_0x2b55e7){const _0x1c8dd3=_0x3695c4;return this[_0x1c8dd3(0x12b)](_0x1c8dd3(0x15b),[_0x2dba6b,_0x2b55e7]),void 0x0;}async['inspectElement'](_0x333384){const _0x247359={_0x76d50b:0x165,_0x1d28d2:0x148},_0x538695=_0x3695c4;this[_0x538695(0x12b)]('inspectElement',[_0x333384]);if(_0x333384['steps'][_0x538695(0x15e)]!==0x1||_0x333384[_0x538695(0x165)][0x0]['kind']!=='ref')return null;const _0xa92e9b=_0x333384[_0x538695(_0x247359._0x76d50b)][0x0][_0x538695(0x126)],_0x3dc737=this[_0x538695(_0x247359._0x1d28d2)][_0x538695(0x188)]?.[_0xa92e9b];return _0x3dc737??null;}async['screenshot'](_0x3eea5c){const _0x583fbd={_0x4095fd:0x151},_0x3f4dd2=_0x3695c4;return this[_0x3f4dd2(0x12b)](_0x3f4dd2(0x155),[_0x3eea5c]),this['screenshotBytes'](_0x3eea5c?.[_0x3f4dd2(_0x583fbd._0x4095fd)]);}async[_0x3695c4(0x19f)](_0x484b55,_0x509368){const _0x4b9326={_0x276c49:0x166},_0xfac605=_0x3695c4;return this[_0xfac605(0x12b)](_0xfac605(0x19f),[_0x484b55,_0x509368]),this[_0xfac605(_0x4b9326._0x276c49)](_0x509368?.[_0xfac605(0x151)]);}[_0x3695c4(0x166)](_0x1b2ae6){const _0x409b4e={_0x514a12:0x148,_0x3397f8:0x12a},_0x592271=_0x3695c4,_0xd42ed1=this[_0x592271(_0x409b4e._0x514a12)][_0x592271(0x166)];if(_0xd42ed1===void 0x0)return Buffer[_0x592271(0x19c)]('fake-png');return typeof _0xd42ed1===_0x592271(_0x409b4e._0x3397f8)?_0xd42ed1(_0x1b2ae6):_0xd42ed1;}async[_0x3695c4(0x122)](_0x2c84b1){const _0xd6d667={_0x11f48f:0x12b,_0xd16fb5:0x165,_0x557546:0x165,_0x3a624e:0x148,_0xb88cbe:0x183},_0x36734a=_0x3695c4;this[_0x36734a(_0xd6d667._0x11f48f)]('outerHTML',[_0x2c84b1]);if(_0x2c84b1[_0x36734a(_0xd6d667._0xd16fb5)][_0x36734a(0x15e)]===0x1&&_0x2c84b1[_0x36734a(_0xd6d667._0x557546)][0x0][_0x36734a(0x1a0)]===_0x36734a(0x126)){const _0x89605a=_0x2c84b1['steps'][0x0]['ref'];return this[_0x36734a(_0xd6d667._0x3a624e)]['outerHtmlByRef']?.[_0x89605a]??_0x36734a(0x137)+_0x89605a+_0x36734a(_0xd6d667._0xb88cbe);}return'<div></div>';}},FakeContext=class{constructor(_0x29662e,_0x30860b,_0x2b0b69){const _0xd5e141={_0x26f0e7:0x186,_0x3a8b67:0x14d,_0x4ece49:0x180},_0x50a6c6={_0x43474:0x123},_0x3db572=_0x3695c4;this[_0x3db572(0x181)]=_0x29662e,this[_0x3db572(0x148)]=_0x30860b,this[_0x3db572(0x163)]=_0x2b0b69;const _0x1f1477=new FakePage(_0x29662e,_0x30860b,_0x2b0b69+_0x3db572(_0xd5e141._0x26f0e7),_0x30860b[_0x3db572(_0xd5e141._0x3a8b67)]??_0x3db572(0x176));_0x30860b['popupOnClick']&&(_0x1f1477['onAfterClick']=()=>{const _0x18a7a0=_0x3db572;this[_0x18a7a0(_0x50a6c6._0x43474)](_0x30860b[_0x18a7a0(0x17d)]);}),this['pageList']=[_0x1f1477],this[_0x3db572(0x149)]={..._0x30860b[_0x3db572(0x14a)]??{}},this[_0x3db572(_0xd5e141._0x4ece49)]={..._0x30860b[_0x3db572(0x12f)]??{}};}[_0x3695c4(0x181)];[_0x3695c4(0x148)];[_0x3695c4(0x163)];static{__name(this,_0x3695c4(0x13e));}[_0x3695c4(0x156)];['activeIdx']=0x0;[_0x3695c4(0x17e)]=[];[_0x3695c4(0x149)];[_0x3695c4(0x180)];['newPageListeners']=new Set();[_0x3695c4(0x12b)](_0x3a7b5f,_0x41be94){const _0x580c35={_0x164bf8:0x181,_0x7273a9:0x19d},_0x289906=_0x3695c4;this[_0x289906(_0x580c35._0x164bf8)][_0x289906(_0x580c35._0x7273a9)]({'scope':this['scope'],'method':_0x3a7b5f,'args':_0x41be94});}[_0x3695c4(0x167)](){const _0x4fc920={_0x28dc12:0x156},_0x320fd4=_0x3695c4;return this[_0x320fd4(_0x4fc920._0x28dc12)];}[_0x3695c4(0x17b)](){const _0x15ca68={_0x4b1142:0x150,_0x39662b:0x184},_0x41f432=_0x3695c4,_0x4aabd7=this[_0x41f432(0x156)][this['activeIdx']];if(!_0x4aabd7)throw new DriverError(_0x41f432(_0x15ca68._0x4b1142),{'activeIdx':this[_0x41f432(_0x15ca68._0x39662b)]});return _0x4aabd7;}['consoleEntries'](){const _0x5a696c={_0x5ec506:0x172},_0x2b6f21=_0x3695c4;return this[_0x2b6f21(0x148)][_0x2b6f21(_0x5a696c._0x5ec506)]??[];}[_0x3695c4(0x168)](){const _0x26564c={_0x5af449:0x148,_0x1cd82f:0x168},_0x1f1fbb=_0x3695c4;return this[_0x1f1fbb(_0x26564c._0x5af449)][_0x1f1fbb(_0x26564c._0x1cd82f)]??[];}async['setActivePage'](_0x5ae170){const _0xd595bf={_0x422782:0x156,_0x5f4b52:0x17e},_0x3ed08f=_0x3695c4;this[_0x3ed08f(0x12b)](_0x3ed08f(0x17a),[_0x5ae170]);if(_0x5ae170<0x0||_0x5ae170>=this['pageList']['length'])throw new DriverError('page\x20index\x20out\x20of\x20range',{'index':_0x5ae170,'available':this[_0x3ed08f(_0xd595bf._0x422782)]['length']});this['activeIdx']=_0x5ae170,this[_0x3ed08f(_0xd595bf._0x5f4b52)][_0x3ed08f(0x15e)]=0x0;}[_0x3695c4(0x159)](_0x503acb){const _0xe938a0=_0x3695c4;return subscribe(this[_0xe938a0(0x194)],_0x503acb);}['emitFakePopup'](_0x1e7529){const _0x383f1a={_0xea6d3d:0x163,_0xad787f:0x189,_0x2934b8:0x15e,_0x4a1205:0x181,_0x2fc136:0x156,_0x34ea06:0x15e,_0x523a0c:0x194},_0x114e80=_0x3695c4,_0x413af8=this[_0x114e80(_0x383f1a._0xea6d3d)]+_0x114e80(_0x383f1a._0xad787f)+this[_0x114e80(0x156)][_0x114e80(_0x383f1a._0x2934b8)],_0x135ebb=new FakePage(this[_0x114e80(_0x383f1a._0x4a1205)],this[_0x114e80(0x148)],_0x413af8,_0x1e7529);this[_0x114e80(_0x383f1a._0x2fc136)][_0x114e80(0x19d)](_0x135ebb);const _0x25fcb5=this[_0x114e80(_0x383f1a._0x2fc136)][_0x114e80(_0x383f1a._0x34ea06)]-0x1;for(const _0x4d4d6f of this[_0x114e80(_0x383f1a._0x523a0c)]){try{_0x4d4d6f({'index':_0x25fcb5,'url':_0x1e7529});}catch{}}return _0x25fcb5;}[_0x3695c4(0x15a)](_0x3acd06){const _0x3abd58={_0xc48ea0:0x15e,_0x281123:0x145},_0x5ca9eb=_0x3695c4;if(_0x3acd06<0x0||_0x3acd06>=this['pageList'][_0x5ca9eb(_0x3abd58._0xc48ea0)])throw new DriverError('page\x20index\x20out\x20of\x20range',{'index':_0x3acd06,'available':this[_0x5ca9eb(0x156)]['length']});this[_0x5ca9eb(0x156)][_0x5ca9eb(_0x3abd58._0x281123)](_0x3acd06,0x1);}async['enterFrame'](_0x102457){const _0x25cd99={_0x3dbdf1:0x12b,_0x40e20:0x14f,_0x4d358b:0x165,_0x473b7e:0x19d},_0x5c50da=_0x3695c4;this[_0x5c50da(_0x25cd99._0x3dbdf1)](_0x5c50da(_0x25cd99._0x40e20),[_0x102457]);if(!_0x102457[_0x5c50da(_0x25cd99._0x4d358b)]['length'])throw new LocatorError('enterFrame\x20called\x20with\x20empty\x20locator',{'locator':_0x102457});this['frameStack'][_0x5c50da(_0x25cd99._0x473b7e)](_0x102457);}async[_0x3695c4(0x171)](){const _0x47539c={_0x1fdbf5:0x12b,_0x4f89e3:0x171,_0x541335:0x15e,_0xe21962:0x179,_0x426a19:0x17e,_0x3a8bf6:0x19a},_0x3b82c2=_0x3695c4;this[_0x3b82c2(_0x47539c._0x1fdbf5)](_0x3b82c2(_0x47539c._0x4f89e3),[]);if(this[_0x3b82c2(0x17e)][_0x3b82c2(_0x47539c._0x541335)]===0x0)throw new DriverError(_0x3b82c2(_0x47539c._0xe21962),{});this[_0x3b82c2(_0x47539c._0x426a19)][_0x3b82c2(_0x47539c._0x3a8bf6)]();}async[_0x3695c4(0x197)](_0x265b49,_0x24c1aa){const _0x3bcc93=_0x3695c4;this['record'](_0x3bcc93(0x197),[_0x265b49,_0x24c1aa]),this['localStorageState'][_0x265b49]=_0x24c1aa;}async['getLocalStorage'](_0x2ef9e6){const _0x4fc33b=_0x3695c4;return this[_0x4fc33b(0x12b)](_0x4fc33b(0x16f),[_0x2ef9e6]),this[_0x4fc33b(0x149)][_0x2ef9e6]??null;}async[_0x3695c4(0x133)](_0x27fc67,_0x11d1d4,_0x3fe7b1){const _0x38d6a5={_0x3972bc:0x12b,_0x5048a0:0x133,_0x14af47:0x180},_0x4acf97=_0x3695c4;this[_0x4acf97(_0x38d6a5._0x3972bc)](_0x4acf97(_0x38d6a5._0x5048a0),[_0x27fc67,_0x11d1d4,_0x3fe7b1]),this[_0x4acf97(_0x38d6a5._0x14af47)][_0x27fc67]=_0x11d1d4;}async[_0x3695c4(0x160)](_0x75bcbc){const _0x497e47=_0x3695c4;return this[_0x497e47(0x12b)](_0x497e47(0x160),[_0x75bcbc]),this[_0x497e47(0x180)][_0x75bcbc]??null;}async['saveStorageState'](_0x2042a7){const _0x4a2e52={_0x461cd3:0x141},_0x50e9e5=_0x3695c4;this['record'](_0x50e9e5(_0x4a2e52._0x461cd3),[_0x2042a7]);}async['evaluate'](_0x373f15){const _0x3bfd8b={_0x4e9ba4:0x12b},_0x1570ff=_0x3695c4;return this[_0x1570ff(_0x3bfd8b._0x4e9ba4)]('evaluate',[_0x373f15]),void 0x0;}async[_0x3695c4(0x169)](){const _0x596033={_0x5f018d:0x12b},_0x56da5b=_0x3695c4;this[_0x56da5b(_0x596033._0x5f018d)]('close',[]);}['frameDepth'](){const _0x40d1cf={_0x151981:0x17e},_0x5021e3=_0x3695c4;return this[_0x5021e3(_0x40d1cf._0x151981)][_0x5021e3(0x15e)];}},FakeWebDriver=class{constructor(_0xfe3354={}){const _0x483d2f=_0x3695c4;this['behavior']=_0xfe3354,this[_0x483d2f(0x181)]=createRecorder();}[_0x3695c4(0x148)];static{__name(this,_0x3695c4(0x13a));}[_0x3695c4(0x185)]=![];[_0x3695c4(0x181)];[_0x3695c4(0x16a)]=[];async[_0x3695c4(0x192)](_0x333fe8){const _0x24904f={_0x3c788f:0x19d,_0x499872:0x13d},_0x21ef18=_0x3695c4;this['recorder'][_0x21ef18(_0x24904f._0x3c788f)]({'scope':_0x21ef18(_0x24904f._0x499872),'method':_0x21ef18(0x192),'args':[_0x333fe8]}),this[_0x21ef18(0x185)]=!![];}async[_0x3695c4(0x16b)](_0xe9a0f){const _0x2f2f00={_0x52095b:0x13d,_0x7200be:0x18b,_0x1d7f9f:0x181,_0x21c333:0x148,_0x44d9dc:0x16a,_0x11f7b6:0x19d},_0x1b39dc=_0x3695c4;this['recorder'][_0x1b39dc(0x19d)]({'scope':_0x1b39dc(_0x2f2f00._0x52095b),'method':'newContext','args':[_0xe9a0f]});if(!this['launched'])throw new DriverError(_0x1b39dc(_0x2f2f00._0x7200be),{});const _0x55ed7a=new FakeContext(this[_0x1b39dc(_0x2f2f00._0x1d7f9f)],this[_0x1b39dc(_0x2f2f00._0x21c333)],_0x1b39dc(0x127)+this['contexts'][_0x1b39dc(0x15e)]);return this[_0x1b39dc(_0x2f2f00._0x44d9dc)][_0x1b39dc(_0x2f2f00._0x11f7b6)](_0x55ed7a),_0x55ed7a;}async[_0x3695c4(0x169)](){const _0xedb549={_0x1108b8:0x181,_0x35b889:0x185},_0x582331=_0x3695c4;this[_0x582331(_0xedb549._0x1108b8)][_0x582331(0x19d)]({'scope':_0x582331(0x13d),'method':'close','args':[]}),this[_0x582331(_0xedb549._0x35b889)]=![];}['wsEndpoint'](){return void 0x0;}async[_0x3695c4(0x15c)](){const _0x33cbaf={_0x508db9:0x162},_0x363553=_0x3695c4;throw new DriverError(_0x363553(_0x33cbaf._0x508db9),{});}[_0x3695c4(0x191)](_0x405cfc){const _0x59a824={_0x36d4ae:0x18d},_0x26b7be=_0x3695c4;throw new DriverError(_0x26b7be(_0x59a824._0x36d4ae),{});}[_0x3695c4(0x16d)](){const _0x414f2f=_0x3695c4;return this[_0x414f2f(0x181)][_0x414f2f(0x16d)]();}['callsFor'](_0x2d2e83){const _0x1526a5=_0x3695c4;return this[_0x1526a5(0x181)]['calls']()[_0x1526a5(0x125)](_0x43e54f=>_0x43e54f[_0x1526a5(0x18e)]===_0x2d2e83);}};export{FakeWebDriver};
|
|
1
|
+
const _0x26592c=_0xd816;(function(_0x26e4b4,_0x24b9c9){const _0x5cff5c={_0x4f2151:0x1d3,_0x4dfd6f:0x1c0,_0x3a6762:0x1c5,_0x4fd7ec:0x1d5,_0x194b35:0x17f,_0x474042:0x169,_0x145557:0x19a},_0x4802e2=_0xd816,_0x5566c8=_0x26e4b4();while(!![]){try{const _0x3a2eb7=-parseInt(_0x4802e2(_0x5cff5c._0x4f2151))/0x1+-parseInt(_0x4802e2(_0x5cff5c._0x4dfd6f))/0x2*(parseInt(_0x4802e2(0x16f))/0x3)+parseInt(_0x4802e2(0x1c7))/0x4*(-parseInt(_0x4802e2(_0x5cff5c._0x3a6762))/0x5)+-parseInt(_0x4802e2(_0x5cff5c._0x4fd7ec))/0x6+parseInt(_0x4802e2(_0x5cff5c._0x194b35))/0x7*(parseInt(_0x4802e2(0x184))/0x8)+parseInt(_0x4802e2(_0x5cff5c._0x474042))/0x9*(parseInt(_0x4802e2(0x1e5))/0xa)+parseInt(_0x4802e2(0x1cb))/0xb*(parseInt(_0x4802e2(_0x5cff5c._0x145557))/0xc);if(_0x3a2eb7===_0x24b9c9)break;else _0x5566c8['push'](_0x5566c8['shift']());}catch(_0x202bd9){_0x5566c8['push'](_0x5566c8['shift']());}}}(_0x4caa,0xef38e));function _0x4caa(){const _0x5e6843=['lNbHz2u','yxr0ywnOrxHPC3rPBMC','CgfNzsbPBMrLEcbVDxqGB2yGCMfUz2u','C3rLChm','ntbes3ryreS','y3r4','C2nYzwvUC2HVDevSzw1LBNq','D2fPDezVCLrLEhq','zMfRzsb0AxrSzq','ywrK','D2fPDezVCKXVywrtDgf0zq','mZiZnJmZn1fIqNfQva','zw50zxjgCMfTzq','Bg9JywXtDg9YywDLu3rHDgu','AxnwAxnPyMXL','ywn0AxzLugfNzq','Aw5ZCgvJDevSzw1LBNq','mtG2mZG2n2TLrNrftq','zMfRzs1WBMC','ywjVDxq6yMXHBMS','D2fPDezVCK5HDMLNyxrPB24','zxzHBhvHDgvpBKXVy2f0B3i','z2v0tg9JywXtDg9YywDL','DxjS','zNjHBwvtDgfJAW','zNjHBwvezxb0Aa','y2XPCgjVyxjKugfZDgu','y29UBMvJDfnOyxjLzcbUB3qGC3vWCg9YDgvKigj5iezHA2vxzwjeCML2zxi','AxneAxnHyMXLza','y2XVC2u','yMvOyxzPB3i','y2XPy2S','Aw5WDxrwywX1zq','mti4muX1zxrWEq','rhjPDMvYrxjYB3i','z29cywnR','zNvUy3rPB24','z2v0qxr0CMLIDxrL','mtuYogLssevZua','zMLSDgvY','C2nYzwvUC2HVDa','C2v0q29VA2LL','zgvMAw5LuhjVCgvYDhK','BMfTzq','D2fPDezVCLvYBa','z29gB3j3yxjK','CMvJB3jKzxi','AxneAxnHyMXLzej5rgvMyxvSDa','yxr0CMLIDxrLC0j5rgvMyxvSDa','BgvUz3rO','pgrPDIbKyxrHlxvUB3rLC3qTCMvMpsi','B3v0zxjive1m','DhLWzq','CMvSB2fK','DgL0Bgu','Dgv4DenVBNrLBNrcEurLzMf1Bhq','z2v0q29VA2LL','Cg9WDxbpBKnSAwnR','C2f2zvn0B3jHz2vtDgf0zq','y291BNrcEurLzMf1Bhq','mtjewMDXuum','rMfRzunVBNrLEhq','AxnwAxnPyMXLqNLezwzHDwX0','Aw5UzxjuzxH0qNLezwzHDwX0','Aw5PDgLHBfvYBa','B25ozxDqywDL','BMv3q29UDgv4Da','Bgf1BMnO','DxbSB2fKrMLSzq','y29VA2LLCW','y3vYCMvUDfvYBa','zxzHBhvHDgvszxn1Bhq','C2vSzwn0t3b0Aw9U','z290BW','y2fSBhm','y29UC29SzuvUDhjPzxm','zxzHBhvHDgu','Bwf5yMvuAhjVDW','zxjYB3jpBK5LEhrby3rPB24','y2fSBhngB3i','iJ48l2rPDJ4','zxHPDezYyw1L','zxHPDezYyw1LignHBgXLzcb3AxrOig5VigzYyw1Lig9UihrOzsbZDgfJAW','pgrPDJ48l2rPDJ4','y2HLy2TLzfn0yxrLqNLezwzHDwX0','C3vIC2nYAwjL','Dgv4DenVBNrLBNq','zhjHz0fUzerYB3a','C2nYzwvUC2HVDej5DgvZ','Aw5UzxjuzxH0','y29UDgv4Dhm','Dw5JAgvJAW','ChvZAa','B3v0zxjiDg1SqNLszwy','zgvSzxrL','y2XVC2vgywTLugfNzq','BMv0D29YA0vUDhjPzxm','BMv3q29UDgv4DcbJywXSzwqGyMvMB3jLigXHDw5JAcGP','mKvSC3PJzG','Bwv0Ag9K','zMLSBa','zhjPDMvY','CgfNzxm','mteWnw9KyMnbDa','Ag92zxi','odiZmMfiBLH4vq','zw1PDezHA2vqB3b1Ca','y2HLy2S','Bgf1BMnOzwq','mtq3ntm5odfjv1DKzwG','C2nYB2XSsw50B1zPzxC','D2fPDezVCG','Cg9W','tg9JyxrVCKvYCM9Y','y2HLy2TLzfn0yxrL','CgfNzuXPC3q','A2LUza','ndG1otvqChP3D2K','Aw5WDxrwywX1zuj5rgvMyxvSDa','nJqXnZC5oeHHDvfhqG','zg91yMXLq2XPy2S','C2nVCgu','C3bSAwnL','y291BNq','CMvM','zNjVBq','BM8Gywn0AxzLihbHz2uGAw4Gy29UDgv4Da','CMvJB3jK','ywn0AxzLswr4','B25bzNrLCKnSAwnR','rMfRzvDLyKrYAxzLCG'];_0x4caa=function(){return _0x5e6843;};return _0x4caa();}var __defProp=Object[_0x26592c(0x188)],__name=(_0x4dbe34,_0x4a6ea0)=>__defProp(_0x4dbe34,_0x26592c(0x189),{'value':_0x4a6ea0,'configurable':!![]});function subscribe(_0x5b621c,_0x315a8d){const _0x59d99f={_0x44be23:0x1bc},_0xeadc65=_0x26592c;return _0x5b621c[_0xeadc65(0x167)](_0x315a8d),()=>{const _0xb92b2f=_0xeadc65;_0x5b621c[_0xb92b2f(_0x59d99f._0x44be23)](_0x315a8d);};}__name(subscribe,_0x26592c(0x1b3));import{UnotestError}from'@unotest/core';var DriverError=class extends UnotestError{static{__name(this,_0x26592c(0x180));}},LocatorError=class extends UnotestError{static{__name(this,_0x26592c(0x1cf));}};function createRecorder(){const _0x20c04a=_0x26592c,_0x2b85a5=[];let _0x2b1f88=0x0;return{'push':__name(_0x57a817=>_0x2b85a5[_0x20c04a(0x1ba)]({..._0x57a817,'seq':_0x2b1f88++}),'push'),'calls':__name(()=>_0x2b85a5,_0x20c04a(0x1a8))};}__name(createRecorder,'createRecorder');function _0xd816(_0x6a3183,_0x3a8802){_0x6a3183=_0x6a3183-0x163;const _0x4caaf0=_0x4caa();let _0xd816d0=_0x4caaf0[_0x6a3183];if(_0xd816['nvdVzS']===undefined){var _0x4ae72b=function(_0x4d5eba){const _0xc50e46='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4dbe34='',_0x4a6ea0='';for(let _0x5b621c=0x0,_0x315a8d,_0x2b85a5,_0x2b1f88=0x0;_0x2b85a5=_0x4d5eba['charAt'](_0x2b1f88++);~_0x2b85a5&&(_0x315a8d=_0x5b621c%0x4?_0x315a8d*0x40+_0x2b85a5:_0x2b85a5,_0x5b621c++%0x4)?_0x4dbe34+=String['fromCharCode'](0xff&_0x315a8d>>(-0x2*_0x5b621c&0x6)):0x0){_0x2b85a5=_0xc50e46['indexOf'](_0x2b85a5);}for(let _0x57a817=0x0,_0x592659=_0x4dbe34['length'];_0x57a817<_0x592659;_0x57a817++){_0x4a6ea0+='%'+('00'+_0x4dbe34['charCodeAt'](_0x57a817)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4a6ea0);};_0xd816['besSTE']=_0x4ae72b,_0xd816['NyOmQr']={},_0xd816['nvdVzS']=!![];}const _0x50f20a=_0x4caaf0[0x0],_0x446a10=_0x6a3183+_0x50f20a,_0x58b4e7=_0xd816['NyOmQr'][_0x446a10];return!_0x58b4e7?(_0xd816d0=_0xd816['besSTE'](_0xd816d0),_0xd816['NyOmQr'][_0x446a10]=_0xd816d0):_0xd816d0=_0x58b4e7,_0xd816d0;}var FakePage=class{constructor(_0x592659,_0x42c83b,_0x14d9b6,_0x126ea1){const _0x183222={_0x4fea3a:0x18c,_0x34255b:0x1d7,_0x55b023:0x1a4},_0x3ab7ba=_0x26592c;this[_0x3ab7ba(_0x183222._0x4fea3a)]=_0x592659,this[_0x3ab7ba(0x17c)]=_0x42c83b,this[_0x3ab7ba(_0x183222._0x34255b)]=_0x14d9b6,this[_0x3ab7ba(_0x183222._0x55b023)]=_0x126ea1;}['recorder'];[_0x26592c(0x17c)];[_0x26592c(0x1d7)];static{__name(this,'FakePage');}[_0x26592c(0x1a4)];['onAfterClick'];[_0x26592c(0x1dd)](_0x123f15,_0x1d02a1){const _0xf86024=_0x26592c;this[_0xf86024(0x18c)]['push']({'scope':this['scope'],'method':_0x123f15,'args':_0x1d02a1});}[_0x26592c(0x1ab)](){const _0x1722a8={_0x311f0c:0x1ac},_0x34ffbf=_0x26592c;if(this[_0x34ffbf(0x17c)][_0x34ffbf(_0x1722a8._0x311f0c)]){const _0x1e9290=this[_0x34ffbf(0x17c)]['errorOnNextAction'];this[_0x34ffbf(0x17c)][_0x34ffbf(_0x1722a8._0x311f0c)]=void 0x0;throw _0x1e9290;}}[_0x26592c(0x175)](){const _0x3277c4=_0x26592c;return this[_0x3277c4(0x1a4)];}async[_0x26592c(0x194)](){const _0x567a0a={_0xaa5e97:0x1dd},_0x268f17=_0x26592c;return this[_0x268f17(_0x567a0a._0xaa5e97)](_0x268f17(0x194),[]),_0x268f17(0x166);}async['click'](_0x4fdd6f,_0x58a946){const _0x17f792={_0x370ce4:0x1dd,_0x19ad6c:0x17d,_0x16e455:0x1ab},_0x4a033a=_0x26592c;this[_0x4a033a(_0x17f792._0x370ce4)](_0x4a033a(_0x17f792._0x19ad6c),[_0x4fdd6f,_0x58a946]),this[_0x4a033a(_0x17f792._0x16e455)](),this[_0x4a033a(0x1df)]?.();}async[_0x26592c(0x1d6)](_0x283a93,_0x3e5430){const _0x59aa06={_0x4a9edb:0x1dd,_0x40b7ba:0x1d6,_0x3220a0:0x1ab},_0x29ed9d=_0x26592c;this[_0x29ed9d(_0x59aa06._0x4a9edb)](_0x29ed9d(_0x59aa06._0x40b7ba),[_0x283a93,_0x3e5430]),this[_0x29ed9d(_0x59aa06._0x3220a0)]();}async[_0x26592c(0x1c2)](_0x397be6,_0x266d21,_0x5127dd){const _0x495b5a={_0x39dff9:0x1dd,_0x4a7e12:0x1c2},_0xcd36ca=_0x26592c;this[_0xcd36ca(_0x495b5a._0x39dff9)](_0xcd36ca(_0x495b5a._0x4a7e12),[_0x397be6,_0x266d21,_0x5127dd]),this['maybeThrow']();}async['press'](_0x2e8102,_0xef7dc5,_0x32f89b){const _0x363b9d=_0x26592c;this['record']('press',[_0x2e8102,_0xef7dc5,_0x32f89b]),this[_0x363b9d(0x1ab)]();}async[_0x26592c(0x1c9)](_0x5b77d4,_0x1ede18){const _0x442c83={_0x379e59:0x1dd},_0x5be3e9=_0x26592c;this[_0x5be3e9(_0x442c83._0x379e59)]('check',[_0x5b77d4,_0x1ede18]),this[_0x5be3e9(0x1ab)]();}async[_0x26592c(0x1b9)](_0x4db841,_0x544388){const _0x554e6b={_0x29d79a:0x1b9},_0x251550=_0x26592c;this[_0x251550(0x1dd)](_0x251550(_0x554e6b._0x29d79a),[_0x4db841,_0x544388]),this['maybeThrow']();}async['selectOption'](_0x2401b4,_0x3d3524,_0x50449f){const _0x1ddfac={_0x3c64ca:0x1dd},_0x53369d=_0x26592c;this[_0x53369d(_0x1ddfac._0x3c64ca)](_0x53369d(0x1a6),[_0x2401b4,_0x3d3524,_0x50449f]),this[_0x53369d(0x1ab)]();}async[_0x26592c(0x1c6)](_0x155326,_0x15c8b3){const _0x318a7d=_0x26592c;this[_0x318a7d(0x1dd)]('hover',[_0x155326,_0x15c8b3]),this[_0x318a7d(0x1ab)]();}async[_0x26592c(0x1cc)](_0x4df822){const _0x195f69=_0x26592c;this[_0x195f69(0x1dd)](_0x195f69(0x1cc),[_0x4df822]),this[_0x195f69(0x1ab)]();}async[_0x26592c(0x1b5)](_0x129b13,_0x18f333,_0x438712){const _0x2998d4={_0x80c7c9:0x1b5,_0x4eb396:0x1ab},_0x1746f9=_0x26592c;this['record'](_0x1746f9(_0x2998d4._0x80c7c9),[_0x129b13,_0x18f333,_0x438712]),this[_0x1746f9(_0x2998d4._0x4eb396)]();}async[_0x26592c(0x1a2)](_0xb2cd0d,_0x9d44e7){const _0xf74ad7={_0x566cb3:0x1dd,_0x46f94d:0x1a2,_0x356bc5:0x1ab},_0x4d8a80=_0x26592c;this[_0x4d8a80(_0xf74ad7._0x566cb3)](_0x4d8a80(_0xf74ad7._0x46f94d),[_0xb2cd0d,_0x9d44e7]),this[_0x4d8a80(_0xf74ad7._0x356bc5)]();}async[_0x26592c(0x178)](_0x48bea3,_0x1ede15){const _0x5343fb=_0x26592c;this[_0x5343fb(0x1dd)]('clipboardPaste',[_0x48bea3,_0x1ede15]),this[_0x5343fb(0x1ab)]();}async['count'](_0xf44b02){const _0x59f186={_0x86be09:0x1d9},_0x21fa38=_0x26592c;return this['record'](_0x21fa38(_0x59f186._0x86be09),[_0xf44b02]),this[_0x21fa38(0x17c)][_0x21fa38(0x199)]??0x1;}async[_0x26592c(0x1b4)](_0x22feed){const _0x5552bb={_0x16fc4e:0x195},_0x58ca5=_0x26592c;return this['record'](_0x58ca5(0x1b4),[_0x22feed]),this[_0x58ca5(0x17c)][_0x58ca5(_0x5552bb._0x16fc4e)]??'';}async['innerText'](_0x1b7324){const _0x289392={_0x1b757b:0x1b7,_0x1e8168:0x17c,_0x27ee1e:0x19d,_0x33ec89:0x17c},_0x53ad4f=_0x26592c;return this['record'](_0x53ad4f(_0x289392._0x1b757b),[_0x1b7324]),this[_0x53ad4f(_0x289392._0x1e8168)][_0x53ad4f(_0x289392._0x27ee1e)]??this[_0x53ad4f(_0x289392._0x33ec89)]['textContentByDefault']??'';}async[_0x26592c(0x17e)](_0x12b8de){const _0x53d984={_0x21919f:0x1dd},_0x2a8cd8=_0x26592c;return this[_0x2a8cd8(_0x53d984._0x21919f)](_0x2a8cd8(0x17e),[_0x12b8de]),this['behavior'][_0x2a8cd8(0x1d4)]??'';}async[_0x26592c(0x1d0)](_0x50c4d2){const _0x2640e2=_0x26592c;return this['record'](_0x2640e2(0x1d0),[_0x50c4d2]),this[_0x2640e2(0x17c)][_0x2640e2(0x1b2)]??null;}async[_0x26592c(0x16c)](_0x1a51a4){const _0x2d2da3={_0x44ac1d:0x17c,_0x39653a:0x19c},_0x8812bf=_0x26592c;return this['record'](_0x8812bf(0x16c),[_0x1a51a4]),this[_0x8812bf(_0x2d2da3._0x44ac1d)][_0x8812bf(_0x2d2da3._0x39653a)]??!![];}async[_0x26592c(0x17a)](_0x8cf678){const _0x5490e2={_0x7aafd:0x17c},_0x3a81ad=_0x26592c;return this['record'](_0x3a81ad(0x17a),[_0x8cf678]),this[_0x3a81ad(_0x5490e2._0x7aafd)][_0x3a81ad(0x18d)]??![];}async[_0x26592c(0x183)](_0x2a5f66,_0xc856b6){const _0x49c5cd=_0x26592c;return this['record'](_0x49c5cd(0x183),[_0x2a5f66,_0xc856b6]),this['behavior'][_0x49c5cd(0x18e)]?.[_0xc856b6]??null;}async[_0x26592c(0x1cd)](_0x261756,_0x57dc43){const _0x46a583=_0x26592c;this[_0x46a583(0x1dd)](_0x46a583(0x1cd),[_0x261756,_0x57dc43]);}async[_0x26592c(0x18a)](_0x566403,_0x52bb4a){const _0x572f8c={_0x37830f:0x18a},_0x2a03e9=_0x26592c;this[_0x2a03e9(0x1dd)](_0x2a03e9(_0x572f8c._0x37830f),[_0x566403,_0x52bb4a]);}async[_0x26592c(0x165)](_0x506f70,_0x44452a){const _0x20a4e0={_0x2fbead:0x1dd,_0x33bac2:0x165},_0x411cd8=_0x26592c;this[_0x411cd8(_0x20a4e0._0x2fbead)](_0x411cd8(_0x20a4e0._0x33bac2),[_0x506f70,_0x44452a]);}async[_0x26592c(0x172)](_0x357f3d){const _0x129ddf=_0x26592c;this[_0x129ddf(0x1dd)](_0x129ddf(0x172),[_0x357f3d]);}async['waitForLoadState'](_0x1619f6,_0x4d790d){const _0x32aafb={_0x29b987:0x168},_0x11d8ec=_0x26592c;this['record'](_0x11d8ec(_0x32aafb._0x29b987),[_0x1619f6,_0x4d790d]);}async['goto'](_0x19d697,_0x46e939){const _0x5496cc={_0x36a4de:0x1dd},_0x167186=_0x26592c;this[_0x167186(_0x5496cc._0x36a4de)](_0x167186(0x1a7),[_0x19d697,_0x46e939]),this['currentUrl']=_0x19d697;}async[_0x26592c(0x193)](_0x5c2f71){const _0x459ca3={_0x3be099:0x1dd,_0x3bb60b:0x193},_0x26da2c=_0x26592c;this[_0x26da2c(_0x459ca3._0x3be099)](_0x26da2c(_0x459ca3._0x3bb60b),[_0x5c2f71]);}async[_0x26592c(0x181)](_0x2759d3){const _0x339895=_0x26592c;this[_0x339895(0x1dd)]('goBack',[_0x2759d3]);}async[_0x26592c(0x18b)](_0x1296ad){const _0x234db0={_0x10ffae:0x1dd},_0x44fcd2=_0x26592c;this[_0x44fcd2(_0x234db0._0x10ffae)](_0x44fcd2(0x18b),[_0x1296ad]);}async['evaluate'](_0x29d4dd){const _0x586ebb={_0x59abff:0x1aa},_0x59d6cc=_0x26592c;return this['record'](_0x59d6cc(_0x586ebb._0x59abff),[_0x29d4dd]),this['behavior'][_0x59d6cc(0x1a5)];}async['evaluateOnLocator'](_0x4a12d4,_0x55c6cf){const _0x18b54d={_0xe7a3d4:0x173},_0x55a2b3=_0x26592c;return this[_0x55a2b3(0x1dd)](_0x55a2b3(_0x18b54d._0xe7a3d4),[_0x4a12d4,_0x55c6cf]),void 0x0;}async[_0x26592c(0x16e)](_0x2294f8){const _0x244f20={_0x13e736:0x1da,_0x4da851:0x1e4},_0x139652=_0x26592c;this[_0x139652(0x1dd)](_0x139652(0x16e),[_0x2294f8]);if(_0x2294f8['steps']['length']!==0x1||_0x2294f8[_0x139652(0x1e4)][0x0][_0x139652(0x1d2)]!==_0x139652(_0x244f20._0x13e736))return null;const _0x15cb09=_0x2294f8[_0x139652(_0x244f20._0x4da851)][0x0][_0x139652(0x1da)],_0x83d23b=this[_0x139652(0x17c)]['elementHintByRef']?.[_0x15cb09];return _0x83d23b??null;}async[_0x26592c(0x186)](_0x517571){const _0x34cafe={_0x43bc40:0x1dd,_0x10a487:0x186,_0x4b51d0:0x1b6},_0x57848c=_0x26592c;return this[_0x57848c(_0x34cafe._0x43bc40)](_0x57848c(_0x34cafe._0x10a487),[_0x517571]),this[_0x57848c(_0x34cafe._0x4b51d0)](_0x517571?.[_0x57848c(0x192)]);}async[_0x26592c(0x164)](_0x229420,_0x2cf8cc){const _0x49104a={_0x300407:0x164},_0x173456=_0x26592c;return this[_0x173456(0x1dd)](_0x173456(_0x49104a._0x300407),[_0x229420,_0x2cf8cc]),this['screenshotBytes'](_0x2cf8cc?.['type']);}[_0x26592c(0x1b6)](_0x164275){const _0x527699={_0x4751bc:0x1db},_0x50eb43=_0x26592c,_0x16b3ab=this[_0x50eb43(0x17c)][_0x50eb43(0x1b6)];if(_0x16b3ab===void 0x0)return Buffer[_0x50eb43(_0x527699._0x4751bc)](_0x50eb43(0x170));return typeof _0x16b3ab===_0x50eb43(0x182)?_0x16b3ab(_0x164275):_0x16b3ab;}async['outerHTML'](_0x3db27a){const _0x21fd32={_0x2e242c:0x1e4,_0x4208cb:0x18f,_0x45fc16:0x190,_0x3966b5:0x1ae,_0x15748a:0x1b1},_0x4eef64=_0x26592c;this[_0x4eef64(0x1dd)](_0x4eef64(0x191),[_0x3db27a]);if(_0x3db27a[_0x4eef64(_0x21fd32._0x2e242c)][_0x4eef64(_0x21fd32._0x4208cb)]===0x1&&_0x3db27a[_0x4eef64(0x1e4)][0x0][_0x4eef64(0x1d2)]===_0x4eef64(0x1da)){const _0x476421=_0x3db27a[_0x4eef64(0x1e4)][0x0][_0x4eef64(0x1da)];return this[_0x4eef64(0x17c)][_0x4eef64(0x1bb)]?.[_0x476421]??_0x4eef64(_0x21fd32._0x45fc16)+_0x476421+_0x4eef64(_0x21fd32._0x3966b5);}return _0x4eef64(_0x21fd32._0x15748a);}},FakeContext=class{constructor(_0x1760da,_0x8027e7,_0x5acc94){const _0x5dfd43={_0x480cf1:0x19e,_0xfeb96f:0x1df},_0x2b24d3=_0x26592c;this['recorder']=_0x1760da,this['behavior']=_0x8027e7,this['scope']=_0x5acc94;const _0x302b86=new FakePage(_0x1760da,_0x8027e7,_0x5acc94+'.page0',_0x8027e7[_0x2b24d3(_0x5dfd43._0x480cf1)]??_0x2b24d3(0x171));_0x8027e7[_0x2b24d3(0x197)]&&(_0x302b86[_0x2b24d3(_0x5dfd43._0xfeb96f)]=()=>{this['emitFakePopup'](_0x8027e7['popupOnClick']);}),this['pageList']=[_0x302b86],this[_0x2b24d3(0x16b)]={..._0x8027e7['localStorage']??{}},this['cookieState']={..._0x8027e7[_0x2b24d3(0x1a3)]??{}};}[_0x26592c(0x18c)];[_0x26592c(0x17c)];[_0x26592c(0x1d7)];static{__name(this,_0x26592c(0x19b));}[_0x26592c(0x1d1)];[_0x26592c(0x1de)]=0x0;[_0x26592c(0x176)]=[];[_0x26592c(0x16b)];['cookieState'];['newPageListeners']=new Set();[_0x26592c(0x1dd)](_0x44a4a8,_0x38b4a6){const _0x18ed92={_0x1a50dd:0x1d7},_0x34426e=_0x26592c;this[_0x34426e(0x18c)][_0x34426e(0x1ba)]({'scope':this[_0x34426e(_0x18ed92._0x1a50dd)],'method':_0x44a4a8,'args':_0x38b4a6});}[_0x26592c(0x1c4)](){const _0x11f540={_0x34e401:0x1d1},_0x2c6404=_0x26592c;return this[_0x2c6404(_0x11f540._0x34e401)];}[_0x26592c(0x16d)](){const _0x4bb6a0={_0x1be02c:0x1de},_0x37cc4d=_0x26592c,_0x7864ad=this['pageList'][this[_0x37cc4d(_0x4bb6a0._0x1be02c)]];if(!_0x7864ad)throw new DriverError(_0x37cc4d(0x1dc),{'activeIdx':this[_0x37cc4d(0x1de)]});return _0x7864ad;}[_0x26592c(0x1a9)](){const _0x4dd0a6=_0x26592c;return this['behavior'][_0x4dd0a6(0x1a9)]??[];}[_0x26592c(0x1be)](){const _0x317def=_0x26592c;return this[_0x317def(0x17c)]['networkEntries']??[];}async['setActivePage'](_0x542b08){const _0x62667f={_0x2ad670:0x1d1,_0x30131b:0x18f},_0x466280=_0x26592c;this[_0x466280(0x1dd)]('setActivePage',[_0x542b08]);if(_0x542b08<0x0||_0x542b08>=this[_0x466280(0x1d1)]['length'])throw new DriverError('page\x20index\x20out\x20of\x20range',{'index':_0x542b08,'available':this[_0x466280(_0x62667f._0x2ad670)][_0x466280(0x18f)]});this['activeIdx']=_0x542b08,this[_0x466280(0x176)][_0x466280(_0x62667f._0x30131b)]=0x0;}[_0x26592c(0x19f)](_0x20e1a1){return subscribe(this['newPageListeners'],_0x20e1a1);}[_0x26592c(0x1c8)](_0x770a6c){const _0x176932={_0x4554af:0x1d1,_0x352888:0x18f,_0x51cf63:0x17c},_0x49b368=_0x26592c,_0x2cdbe7=this[_0x49b368(0x1d7)]+_0x49b368(0x1e1)+this[_0x49b368(_0x176932._0x4554af)][_0x49b368(_0x176932._0x352888)],_0x46a587=new FakePage(this[_0x49b368(0x18c)],this[_0x49b368(_0x176932._0x51cf63)],_0x2cdbe7,_0x770a6c);this['pageList'][_0x49b368(0x1ba)](_0x46a587);const _0x411590=this[_0x49b368(_0x176932._0x4554af)][_0x49b368(_0x176932._0x352888)]-0x1;for(const _0x5a1b7f of this['newPageListeners']){try{_0x5a1b7f({'index':_0x411590,'url':_0x770a6c});}catch{}}return _0x411590;}[_0x26592c(0x1bd)](_0x1da927){const _0x2bd199={_0xc9c2f2:0x1e3,_0x4b0023:0x1d8},_0x4137f4=_0x26592c;if(_0x1da927<0x0||_0x1da927>=this[_0x4137f4(0x1d1)]['length'])throw new DriverError(_0x4137f4(_0x2bd199._0xc9c2f2),{'index':_0x1da927,'available':this[_0x4137f4(0x1d1)]['length']});this[_0x4137f4(0x1d1)][_0x4137f4(_0x2bd199._0x4b0023)](_0x1da927,0x1);}async[_0x26592c(0x16a)](_0x1d3602){const _0x11f486={_0x415d11:0x1e4},_0x34f446=_0x26592c;this['record'](_0x34f446(0x16a),[_0x1d3602]);if(!_0x1d3602[_0x34f446(_0x11f486._0x415d11)][_0x34f446(0x18f)])throw new LocatorError('enterFrame\x20called\x20with\x20empty\x20locator',{'locator':_0x1d3602});this['frameStack'][_0x34f446(0x1ba)](_0x1d3602);}async['exitFrame'](){const _0x3fa800={_0x36ed0e:0x18f,_0x443bba:0x1b0},_0x4b7c42=_0x26592c;this[_0x4b7c42(0x1dd)](_0x4b7c42(0x1af),[]);if(this[_0x4b7c42(0x176)][_0x4b7c42(_0x3fa800._0x36ed0e)]===0x0)throw new DriverError(_0x4b7c42(_0x3fa800._0x443bba),{});this[_0x4b7c42(0x176)][_0x4b7c42(0x1ce)]();}async['setLocalStorage'](_0x288508,_0x1d44e1){const _0x3810cd={_0x117a29:0x16b},_0xa65bfb=_0x26592c;this[_0xa65bfb(0x1dd)]('setLocalStorage',[_0x288508,_0x1d44e1]),this[_0xa65bfb(_0x3810cd._0x117a29)][_0x288508]=_0x1d44e1;}async[_0x26592c(0x174)](_0x3f40bf){const _0x5085c5={_0x221678:0x1dd},_0x440e48=_0x26592c;return this[_0x440e48(_0x5085c5._0x221678)](_0x440e48(0x174),[_0x3f40bf]),this[_0x440e48(0x16b)][_0x3f40bf]??null;}async['setCookie'](_0x5931f5,_0x9cf2f3,_0x56bd6a){const _0x2fd8b7={_0x3c687e:0x1dd},_0x1084b4=_0x26592c;this[_0x1084b4(_0x2fd8b7._0x3c687e)](_0x1084b4(0x187),[_0x5931f5,_0x9cf2f3,_0x56bd6a]),this['cookieState'][_0x5931f5]=_0x9cf2f3;}async[_0x26592c(0x196)](_0x5a4e57){const _0x3c59c6=_0x26592c;return this['record'](_0x3c59c6(0x196),[_0x5a4e57]),this['cookieState'][_0x5a4e57]??null;}async[_0x26592c(0x198)](_0x2b6b89){const _0x2b4183={_0x4ffa62:0x1dd},_0x329480=_0x26592c;this[_0x329480(_0x2b4183._0x4ffa62)](_0x329480(0x198),[_0x2b6b89]);}async[_0x26592c(0x1aa)](_0x3720be){const _0x1c406a={_0x3be31a:0x1aa},_0x53bbf7=_0x26592c;return this['record'](_0x53bbf7(_0x1c406a._0x3be31a),[_0x3720be]),void 0x0;}async['close'](){const _0x3ec69f=_0x26592c;this['record'](_0x3ec69f(0x17b),[]);}[_0x26592c(0x177)](){const _0x24749b={_0x5e1d95:0x176},_0xc8a89b=_0x26592c;return this[_0xc8a89b(_0x24749b._0x5e1d95)][_0xc8a89b(0x18f)];}},FakeWebDriver=class{constructor(_0x933b11={}){const _0x2a1470={_0x3e52fb:0x18c},_0x3bd456=_0x26592c;this['behavior']=_0x933b11,this[_0x3bd456(_0x2a1470._0x3e52fb)]=createRecorder();}[_0x26592c(0x17c)];static{__name(this,_0x26592c(0x1e0));}['launched']=![];[_0x26592c(0x18c)];[_0x26592c(0x1b8)]=[];async[_0x26592c(0x1a1)](_0x185b02){const _0x3a9996=_0x26592c;this['recorder'][_0x3a9996(0x1ba)]({'scope':'driver','method':'launch','args':[_0x185b02]}),this['launched']=!![];}async[_0x26592c(0x1a0)](_0x54fed5){const _0x118c7d={_0x232dda:0x1ba,_0x10559c:0x1c3,_0x3208c3:0x1a0,_0x41b155:0x1ca,_0x53fae5:0x1bf},_0x1fbfd2=_0x26592c;this[_0x1fbfd2(0x18c)][_0x1fbfd2(_0x118c7d._0x232dda)]({'scope':_0x1fbfd2(_0x118c7d._0x10559c),'method':_0x1fbfd2(_0x118c7d._0x3208c3),'args':[_0x54fed5]});if(!this[_0x1fbfd2(_0x118c7d._0x41b155)])throw new DriverError(_0x1fbfd2(_0x118c7d._0x53fae5),{});const _0x46a3e8=new FakeContext(this['recorder'],this[_0x1fbfd2(0x17c)],_0x1fbfd2(0x163)+this[_0x1fbfd2(0x1b8)][_0x1fbfd2(0x18f)]);return this['contexts'][_0x1fbfd2(_0x118c7d._0x232dda)](_0x46a3e8),_0x46a3e8;}async['close'](){const _0x4ee164={_0x24d3b9:0x1c3},_0x13f66f=_0x26592c;this[_0x13f66f(0x18c)][_0x13f66f(0x1ba)]({'scope':_0x13f66f(_0x4ee164._0x24d3b9),'method':'close','args':[]}),this['launched']=![];}['wsEndpoint'](){return void 0x0;}async['connectShared'](){const _0xb1b1ce={_0xfd4da4:0x179},_0x1f83b3=_0x26592c;throw new DriverError(_0x1f83b3(_0xb1b1ce._0xfd4da4),{});}[_0x26592c(0x1e2)](_0x40d6eb){throw new DriverError('attachExisting\x20not\x20supported\x20by\x20FakeWebDriver',{});}['calls'](){const _0x5351c3={_0x389277:0x1a8},_0x59e0f3=_0x26592c;return this[_0x59e0f3(0x18c)][_0x59e0f3(_0x5351c3._0x389277)]();}[_0x26592c(0x1ad)](_0x3394dd){const _0x2e0b15={_0x14692e:0x18c,_0x2cb697:0x1a8,_0x315791:0x185},_0x45c76c=_0x26592c;return this[_0x45c76c(_0x2e0b15._0x14692e)][_0x45c76c(_0x2e0b15._0x2cb697)]()[_0x45c76c(_0x2e0b15._0x315791)](_0x4b952a=>_0x4b952a[_0x45c76c(0x1c1)]===_0x3394dd);}};export{FakeWebDriver};
|
package/dist/dsl/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { j as LocatorValue, W as WebDriver, D as DriverContext, e as DriverPage } from '../interfaces-
|
|
2
|
-
export { k as LocatorStep, l as appendStep, m as describeLocator, n as isLocatorValue, r as rootedAt } from '../interfaces-
|
|
1
|
+
import { j as LocatorValue, W as WebDriver, D as DriverContext, e as DriverPage } from '../interfaces-7nMNCr2h.js';
|
|
2
|
+
export { k as LocatorStep, l as appendStep, m as describeLocator, n as isLocatorValue, r as rootedAt } from '../interfaces-7nMNCr2h.js';
|
|
3
3
|
import { Matcher, RegexLiteral, JudgeRequest, JudgeVerdict, SoftFailureRecord } from '@unotest/protocol';
|
|
4
4
|
import { ExecutionWalker, ExecutionEvent, RunResult, RunOptions } from '@unotest/dsl/executor';
|
|
5
5
|
export { ExecutionError, ExecutionEvent, RunOptions, RunResult } from '@unotest/dsl/executor';
|