@unotest/web 0.22.0 → 0.24.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 +130 -0
- package/README.md +1 -1
- package/dist/config/schema.js +1 -1
- package/dist/driver/index.d.ts +5 -2
- package/dist/driver/index.js +1 -1
- package/dist/dsl/index.d.ts +31 -3
- 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-B-FxA_qn.d.ts → interfaces-SzdtOj1F.d.ts} +5 -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/dsl-reference.md +63 -2
- package/package.json +8 -7
- package/types/unotest-dsl.d.ts +7 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,135 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.24.0] - 2026-08-26
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Judge: rendered text, one env namespace, preamble and majority vote.
|
|
8
|
+
|
|
9
|
+
**Breaking (judge env, no aliases).** Every `JUDGE_*` variable of the
|
|
10
|
+
`@unotest/judge` service is now `UNOTEST_JUDGE_*`, matching the client-side
|
|
11
|
+
names `@unotest/web` already used. `@unotest/judge` shipped a day before
|
|
12
|
+
this change with no known installs outside the monorepo, so the rename lands
|
|
13
|
+
without a deprecation window — the window would never be cheaper. Migration:
|
|
14
|
+
|
|
15
|
+
| Old | New |
|
|
16
|
+
| --------------------------- | ------------------------------------------- |
|
|
17
|
+
| `JUDGE_PROVIDER` | `UNOTEST_JUDGE_PROVIDER` |
|
|
18
|
+
| `JUDGE_MODEL` | `UNOTEST_JUDGE_MODEL` |
|
|
19
|
+
| `JUDGE_RETRIES` | `UNOTEST_JUDGE_RETRIES` |
|
|
20
|
+
| `JUDGE_TIMEOUT_MS` | `UNOTEST_JUDGE_CALL_TIMEOUT_MS` |
|
|
21
|
+
| `JUDGE_ACCESS_TOKEN` | `UNOTEST_JUDGE_ACCESS_TOKEN` |
|
|
22
|
+
| `JUDGE_CLAUDE_BIN` | `UNOTEST_JUDGE_CLAUDE_BIN` |
|
|
23
|
+
| `JUDGE_HOST` / `JUDGE_PORT` | `UNOTEST_JUDGE_HOST` / `UNOTEST_JUDGE_PORT` |
|
|
24
|
+
| `JUDGE_TOKEN` | `UNOTEST_JUDGE_TOKEN` |
|
|
25
|
+
|
|
26
|
+
Two names were deliberately not a straight prefixing. The service's per-call
|
|
27
|
+
budget became `UNOTEST_JUDGE_CALL_TIMEOUT_MS` because `UNOTEST_JUDGE_TIMEOUT_MS`
|
|
28
|
+
was already taken by the client's whole-request budget — same family, different
|
|
29
|
+
question. And the service's bearer token merged into the client's
|
|
30
|
+
`UNOTEST_JUDGE_TOKEN`: it is one secret, and in a shared overlay the two ends
|
|
31
|
+
have to carry the same value anyway.
|
|
32
|
+
|
|
33
|
+
**Behavioral fix: rendered text.** `assertJudge` and the DSL query
|
|
34
|
+
`getInnerText(loc)` now read `innerText`, not `textContent`. Both promised
|
|
35
|
+
rendered text and delivered the raw source-order concatenation: line breaks
|
|
36
|
+
gone, `display:none` subtrees and `<script>` contents folded in. A rubric
|
|
37
|
+
about structure ("the answer is three bullets") was unjudgeable, and
|
|
38
|
+
`getInnerText` returned text no user can see. Scenarios that relied on
|
|
39
|
+
hidden text reaching these two functions will now see it excluded.
|
|
40
|
+
|
|
41
|
+
**Vertex fixes.** `google-auth-library` moved from optional peer to a regular
|
|
42
|
+
dependency: as a peer it did not resolve under `npx @unotest/judge` at all,
|
|
43
|
+
which broke the advertised keyless path for anyone who never installs the
|
|
44
|
+
package locally. It is still loaded lazily, so non-vertex runs pay nothing.
|
|
45
|
+
Expired Application Default Credentials now produce
|
|
46
|
+
"run `gcloud auth application-default login`" instead of a raw Google OAuth
|
|
47
|
+
blob, read off the structured response body rather than message text.
|
|
48
|
+
|
|
49
|
+
**New: `UNOTEST_JUDGE_PREAMBLE`** (web side) — text prepended to every rubric
|
|
50
|
+
in the project, for standing context ("the app under test is a support bot,
|
|
51
|
+
Russian UI") that would otherwise be copy-pasted into each rubric. It applies
|
|
52
|
+
in both local and remote mode; a remote judge stays project-agnostic.
|
|
53
|
+
|
|
54
|
+
**New: `UNOTEST_JUDGE_VOTE=N`** (service side, odd N, default 1 = off) — N
|
|
55
|
+
independent calls decided by majority. It replaces `UNOTEST_JUDGE_RETRIES`
|
|
56
|
+
rather than stacking with it: re-asking is a deliberate bias toward `pass`,
|
|
57
|
+
a vote is deliberately symmetric, and running both would quietly restore the
|
|
58
|
+
bias the vote was chosen to remove. Ballots run concurrently, so a vote costs
|
|
59
|
+
N provider calls but roughly one call of wall-clock.
|
|
60
|
+
|
|
61
|
+
**Wire protocol.** New error code `config` on the judge's error responses:
|
|
62
|
+
the service's own setup is broken (bad env, expired credentials) and the
|
|
63
|
+
message carries the fix. `@unotest/web` surfaces it as a `ConfigError`
|
|
64
|
+
instead of burying it as a generic "judge unavailable" fault.
|
|
65
|
+
|
|
66
|
+
### Patch Changes
|
|
67
|
+
|
|
68
|
+
- 1622687: assertJudge local mode: the "needs @unotest/judge installed" ConfigError
|
|
69
|
+
now appends the real import failure cause — a half-built dist failed the
|
|
70
|
+
same way and read as a phantom install problem. Also: the viewer
|
|
71
|
+
run-from-ui dogfood scenario accepts history's run-length collapse row.
|
|
72
|
+
- Updated dependencies
|
|
73
|
+
- @unotest/protocol@0.24.0
|
|
74
|
+
- @unotest/viewer@0.24.0
|
|
75
|
+
- @unotest/core@0.24.0
|
|
76
|
+
- @unotest/dsl@0.24.0
|
|
77
|
+
- @unotest/grounder-client@0.24.0
|
|
78
|
+
|
|
79
|
+
## [0.23.0] - 2026-08-26
|
|
80
|
+
|
|
81
|
+
### Minor Changes
|
|
82
|
+
|
|
83
|
+
- LLM-judge assertion for free-form text: `assertJudge(locator, rubric)`.
|
|
84
|
+
|
|
85
|
+
- New package `@unotest/judge` — the judge service (`npx @unotest/judge`):
|
|
86
|
+
judges text against a natural-language rubric and returns a structured
|
|
87
|
+
`{verdict, reasoning, model, attempts}`. Providers: `vertex` (Google
|
|
88
|
+
Vertex AI via ADC, no API keys; temperature pinned to 0) and `fake`
|
|
89
|
+
(deterministic, CI-safe). Non-determinism policy lives in the service:
|
|
90
|
+
`JUDGE_RETRIES` re-asks on `fail`, first `pass` wins.
|
|
91
|
+
- `@unotest/web`: new DSL assertion `assertJudge(locator, rubric)` — the
|
|
92
|
+
element's rendered text + the rubric go to the judge; a `fail` verdict
|
|
93
|
+
fails the step with the judge's reasoning. Wired via env so the config
|
|
94
|
+
sits in the `--env` overlay: `UNOTEST_JUDGE_MODE=off|local|remote`,
|
|
95
|
+
`UNOTEST_JUDGE_URL`, `UNOTEST_JUDGE_TOKEN`, `UNOTEST_JUDGE_TIMEOUT_MS`.
|
|
96
|
+
Every verdict (pass and fail) is recorded into the run's `steps.jsonl`.
|
|
97
|
+
Also documented: `shell()` runs with cwd = the project root
|
|
98
|
+
(`sandbox.shellCwd` to override) and returns `{stdout, stderr, code}`.
|
|
99
|
+
- `@unotest/protocol`: judge wire types (`JudgeRequest`, `JudgeVerdict`,
|
|
100
|
+
`JUDGE_ROUTES`) and the new `judge:verdict` run-artifact event.
|
|
101
|
+
|
|
102
|
+
### Patch Changes
|
|
103
|
+
|
|
104
|
+
- Judge provider matrix: four new `JUDGE_PROVIDER` backends.
|
|
105
|
+
|
|
106
|
+
- `claude` — spawns the local Claude Code CLI (`claude -p`, no shell
|
|
107
|
+
interpretation): auth comes from the Claude Code session, so a
|
|
108
|
+
subscription works with no API key. `JUDGE_MODEL` is passed as
|
|
109
|
+
`--model` (aliases like `sonnet` work); `JUDGE_CLAUDE_BIN` overrides
|
|
110
|
+
the binary; default `JUDGE_TIMEOUT_MS` is 120000 for this provider.
|
|
111
|
+
- `gemini` — the Gemini API with `GEMINI_API_KEY` (same wire format as
|
|
112
|
+
`vertex`, temperature pinned to 0; default model `gemini-2.5-flash`).
|
|
113
|
+
- `openai` — OpenAI chat completions with `OPENAI_API_KEY`
|
|
114
|
+
(`response_format: json_object`; default model `gpt-5-mini`).
|
|
115
|
+
- `anthropic` — the Anthropic API (`/v1/messages`) with
|
|
116
|
+
`ANTHROPIC_API_KEY` (default model `claude-haiku-4-5`).
|
|
117
|
+
|
|
118
|
+
`openai` and `anthropic` deliberately send no sampling params — current
|
|
119
|
+
reasoning models reject `temperature`; determinism relies on the strict
|
|
120
|
+
JSON verdict prompt plus the `JUDGE_RETRIES` policy. Still zero provider
|
|
121
|
+
SDKs: everything is raw HTTP or a local process.
|
|
122
|
+
|
|
123
|
+
`@unotest/web`: docs only — provider matrix in the `assertJudge`
|
|
124
|
+
reference and the `.env.example` judge block.
|
|
125
|
+
|
|
126
|
+
- Updated dependencies
|
|
127
|
+
- @unotest/protocol@0.23.0
|
|
128
|
+
- @unotest/viewer@0.23.0
|
|
129
|
+
- @unotest/core@0.23.0
|
|
130
|
+
- @unotest/dsl@0.23.0
|
|
131
|
+
- @unotest/grounder-client@0.23.0
|
|
132
|
+
|
|
3
133
|
## [0.22.0] - 2026-08-26
|
|
4
134
|
|
|
5
135
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -105,7 +105,7 @@ the way you already expect:
|
|
|
105
105
|
- **Navigation** — `goto`, `reload`, `waitForUrl`
|
|
106
106
|
- **Locators** — `getByRole`, `getByTestId`, `getByLabel`, `getByText`, `getByPlaceholder`, `locator`
|
|
107
107
|
- **Actions** — `click`, `fill`, `press`, `hover`, `check`, `uncheck`, `selectOption`
|
|
108
|
-
- **Assertions** — `assertText`, `assertUrl`, `assertVisible`, `
|
|
108
|
+
- **Assertions** — `assertText`, `assertUrl`, `assertVisible`, `assertCount`, `assertValue`, `assertJudge` (LLM-judge for free-form text, backed by [`@unotest/judge`](https://www.npmjs.com/package/@unotest/judge))
|
|
109
109
|
- **Setup** — `dbQuery`, `dbExec`, `apiCall`, `shell`, `evaluate`
|
|
110
110
|
|
|
111
111
|
Full reference, shipped with the package:
|
package/dist/config/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x56bf(){var _0x5a5b83=['BgLUDdPSAw50lw9Rlw1PC3nPBMCTCMvHC29U','y2HYB21L','BgL0zxjHBa','odq5mZCWtvrpC2Hb','BNvTyMvY','B2jQzwn0','BgLUDdP4Cgf0Aa','BgLUDdPKzwvWlwnZCW','Aw50','DxjS','DMfSAwrHDg9YoMzVCI1ZAgfWzq','y3jHC2G','m2netKHlra','zMLYzwzVEa','BMv0D29YAW','yM9VBgvHBG','Bwf4','BgLUDdPHCgKTy2fSBc1MAwXLlwjVzhK','DMfSAwrHDg9YoNvUC3vWCg9YDgvKlxn0yxrLBwvUDa','BgLUDdPLy2HVlwfZC2vYDa','DMfSAwrHDg9YoM1LDgeTC2HHCgu','BgLUDdPYzwDLEc1PBNzHBgLK','DMfSAwrHDg9YoMz1BMn0Aw9UlxnOyxbL','Dw5VDgvZDc9LmMuVx2HLBhbLCNm','DMfSAwrHDg9YoMXPC3qTyxjN','ywnJzxb0','BgLUDdPKAxnHBwjPzY1IEs1PBMrLEa','ntGYotK1nwf4tu9bvq','BxnLzgDL','y2HYB21PDw0','nZuZnZq4mwPSANDSsq','mJqZndC3nMnxANnkCq','B3b0Aw9UywW','DhjHBNnPzw50','DMfSAwrHDg9YoMfYAxr5','C3rKAw8','BgLUDdPLDMfSDwf0zs1KAxnJB3vYywDLza','BgLUDdPMBg93lxjLDhvYBNmTDMfSDwu','DMfSAwrHDg9YoNzHCI1ZAgfWzq','Dw5VDgvZDc9LmMu','Dw5PB24','DMfSAwrHDg9YoNn0CMLUzY1JB25Jyxq','DMfSAwrHDg9YoNvUA25VD24TzNvUy3rPB24','zw51Bq','mJuYnZe3nMfkD1buvq','y2HYB21LlwjLDge','D2fYBG','B2zM','BNvSBa','mtyWnJyXngzdru5Ara','BwfUDwfS','zgLZBwLZCW','DMfSAwrHDg9YoMLMlxnOyxbL','lNvUB3rLC3qVzMfPBhvYzxm','zxjYB3i','Cg9ZAxrPDMu','zgvMyxvSDa','D2vIA2L0','BgLUDdPWyxvZzs1LEhbSAwnPDa','yxjYyxK','BgLUDdPNB3rVlwnVBMnHDa','DMfSAwrHDg9YoNvUC3vWCg9YDgvKlwv4ChjLC3nPB24','C3rYAw5N','BwLU','mtG1nti5nKTcyKr2wG'];_0x56bf=function(){return _0x5a5b83;};return _0x56bf();}var _0x402b33=_0x3c0c;(function(_0x25b810,_0x2da67b){var _0x4f079b={_0x5339bb:0x15e,_0x185d2c:0x14b,_0x3e1f14:0x139,_0x1e5391:0x15a},_0x32b402=_0x3c0c,_0xecc20e=_0x25b810();while(!![]){try{var _0x975492=parseInt(_0x32b402(_0x4f079b._0x5339bb))/0x1+parseInt(_0x32b402(_0x4f079b._0x185d2c))/0x2+parseInt(_0x32b402(0x167))/0x3*(-parseInt(_0x32b402(0x146))/0x4)+-parseInt(_0x32b402(0x176))/0x5+-parseInt(_0x32b402(_0x4f079b._0x3e1f14))/0x6+parseInt(_0x32b402(0x138))/0x7+parseInt(_0x32b402(_0x4f079b._0x1e5391))/0x8;if(_0x975492===_0x2da67b)break;else _0xecc20e['push'](_0xecc20e['shift']());}catch(_0x43cb0d){_0xecc20e['push'](_0xecc20e['shift']());}}}(_0x56bf,0xb901f));import{z}from'zod';function _0x3c0c(_0x3e9027,_0x1eadcd){_0x3e9027=_0x3e9027-0x136;var _0x56bfc7=_0x56bf();var _0x3c0c8d=_0x56bfc7[_0x3e9027];if(_0x3c0c['KJdrRc']===undefined){var _0xd343ec=function(_0x3d1ef6){var _0x31dbad='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x45b45e='',_0x4a68b0='';for(var _0x48f5b8=0x0,_0x1bd011,_0xb01e55,_0x22ec27=0x0;_0xb01e55=_0x3d1ef6['charAt'](_0x22ec27++);~_0xb01e55&&(_0x1bd011=_0x48f5b8%0x4?_0x1bd011*0x40+_0xb01e55:_0xb01e55,_0x48f5b8++%0x4)?_0x45b45e+=String['fromCharCode'](0xff&_0x1bd011>>(-0x2*_0x48f5b8&0x6)):0x0){_0xb01e55=_0x31dbad['indexOf'](_0xb01e55);}for(var _0x51902a=0x0,_0x1ca45d=_0x45b45e['length'];_0x51902a<_0x1ca45d;_0x51902a++){_0x4a68b0+='%'+('00'+_0x45b45e['charCodeAt'](_0x51902a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4a68b0);};_0x3c0c['FsTdDP']=_0xd343ec,_0x3c0c['mjqXFH']={},_0x3c0c['KJdrRc']=!![];}var _0x44dbd2=_0x56bfc7[0x0],_0x210277=_0x3e9027+_0x44dbd2,_0x2ff3e7=_0x3c0c['mjqXFH'][_0x210277];return!_0x2ff3e7?(_0x3c0c8d=_0x3c0c['FsTdDP'](_0x3c0c8d),_0x3c0c['mjqXFH'][_0x210277]=_0x3c0c8d):_0x3c0c8d=_0x2ff3e7,_0x3c0c8d;}var BrowserSchema=z[_0x402b33(0x145)]([_0x402b33(0x137),_0x402b33(0x168),_0x402b33(0x153)]),BrowserChannelSchema=z[_0x402b33(0x142)]([z[_0x402b33(0x15d)](_0x402b33(0x15c)),z[_0x402b33(0x15d)](_0x402b33(0x136)),z['literal'](_0x402b33(0x147)),z[_0x402b33(0x14a)]()])[_0x402b33(0x13a)](),ViewportSchema=z['object']({'width':z['number']()[_0x402b33(0x163)]()[_0x402b33(0x151)](),'height':z['number']()['int']()[_0x402b33(0x151)]()}),RetryReasonSchema=z['enum'](['transient',_0x402b33(0x169),_0x402b33(0x166)]),RetryConfigSchema=z[_0x402b33(0x160)]({'count':z[_0x402b33(0x15f)]()[_0x402b33(0x163)]()[_0x402b33(0x159)](0x0)[_0x402b33(0x16b)](0xa),'on':z['array'](RetryReasonSchema)}),FailureBundleConfigSchema=z['object']({'tier1':z[_0x402b33(0x15d)](!![])[_0x402b33(0x152)](!![]),'tier2':z[_0x402b33(0x16a)](),'tier3':z[_0x402b33(0x160)]({'network':z[_0x402b33(0x16a)](),'video':z[_0x402b33(0x16a)]()}),'retention':z[_0x402b33(0x160)]({'runs':z[_0x402b33(0x15f)]()['int']()[_0x402b33(0x151)](),'days':z['number']()[_0x402b33(0x163)]()[_0x402b33(0x151)]()}),'storageDir':z[_0x402b33(0x158)]()[_0x402b33(0x159)](0x1)}),DialogPolicySchema=z['enum']([_0x402b33(0x174),_0x402b33(0x14d),_0x402b33(0x14c)]),LinterRuleIdSchema=z['enum']([_0x402b33(0x162),_0x402b33(0x161),'lint:obfuscated-class',_0x402b33(0x154),_0x402b33(0x175),_0x402b33(0x13e),'lint:scenario-in-root','lint:mustache-in-dsl',_0x402b33(0x156),_0x402b33(0x170),_0x402b33(0x16e),_0x402b33(0x16c),_0x402b33(0x15b),_0x402b33(0x13f),_0x402b33(0x144),_0x402b33(0x13c),'validator:arg-kind','validator:step-coverage','validator:step-shape',_0x402b33(0x16f),_0x402b33(0x171),_0x402b33(0x165),_0x402b33(0x14e),_0x402b33(0x140),_0x402b33(0x16d),_0x402b33(0x157),_0x402b33(0x143),'validator:semantic-loss',_0x402b33(0x173),'validator:wrapped-format']),LinterSeveritySchema=z['enum']([_0x402b33(0x149),_0x402b33(0x148),'error']),LinterConfigSchema=z[_0x402b33(0x160)]({'enabled':z[_0x402b33(0x16a)](),'rules':z['record'](LinterRuleIdSchema,LinterSeveritySchema)}),McpConfigSchema=z[_0x402b33(0x160)]({'transport':z['literal'](_0x402b33(0x13d))}),SandboxConfigSchema=z['object']({'shellCwd':z['string']()['optional'](),'shellTimeoutMs':z[_0x402b33(0x15f)]()[_0x402b33(0x163)]()[_0x402b33(0x151)]()['optional'](),'exportSecrets':z[_0x402b33(0x155)](z[_0x402b33(0x158)]())[_0x402b33(0x13a)](),'database':z[_0x402b33(0x158)]()[_0x402b33(0x13a)](),'apiBaseUrl':z[_0x402b33(0x158)]()['url']()['optional'](),'uploadDir':z[_0x402b33(0x158)]()[_0x402b33(0x13a)]()}),WebServerConfigSchema=z[_0x402b33(0x160)]({'command':z['string']()['min'](0x1),'url':z[_0x402b33(0x158)]()['url'](),'reuseExistingServer':z[_0x402b33(0x16a)]()['default'](!![]),'timeoutMs':z[_0x402b33(0x15f)]()[_0x402b33(0x163)]()['positive']()[_0x402b33(0x152)](0xea60)}),UnotestConfigSchema=z[_0x402b33(0x160)]({'baseUrl':z[_0x402b33(0x158)]()[_0x402b33(0x164)]()[_0x402b33(0x13a)](),'webServer':WebServerConfigSchema[_0x402b33(0x13a)](),'browsers':z[_0x402b33(0x155)](BrowserSchema)[_0x402b33(0x159)](0x1),'channel':BrowserChannelSchema,'viewport':ViewportSchema,'retry':RetryConfigSchema,'failureBundle':FailureBundleConfigSchema,'dialogPolicy':DialogPolicySchema,'storageState':z[_0x402b33(0x158)]()[_0x402b33(0x13a)](),'testDir':z['string']()[_0x402b33(0x159)](0x1),'helpersDir':z[_0x402b33(0x158)]()[_0x402b33(0x159)](0x1),'defaultTimeoutMs':z['number']()[_0x402b33(0x163)]()[_0x402b33(0x151)](),'defaultNavigationTimeoutMs':z[_0x402b33(0x15f)]()[_0x402b33(0x163)]()[_0x402b33(0x151)](),'linter':LinterConfigSchema,'mcp':McpConfigSchema,'sandbox':SandboxConfigSchema}),DEFAULT_CONFIG={'browsers':[_0x402b33(0x137)],'viewport':{'width':0x500,'height':0x2d0},'retry':{'count':0x0,'on':[_0x402b33(0x13b)]},'failureBundle':{'tier1':!![],'tier2':!![],'tier3':{'network':![],'video':![]},'retention':{'runs':0x14,'days':0x7},'storageDir':_0x402b33(0x14f)},'dialogPolicy':_0x402b33(0x174),'testDir':_0x402b33(0x141),'helpersDir':_0x402b33(0x172),'defaultTimeoutMs':0xbb8,'defaultNavigationTimeoutMs':0x7530,'linter':{'enabled':!![],'rules':{'lint:deep-css':'warn','lint:xpath':_0x402b33(0x148),'lint:obfuscated-class':_0x402b33(0x148),'lint:pause-explicit':'warn','lint:disambig-by-index':_0x402b33(0x149),'lint:evaluate-discouraged':_0x402b33(0x148),'lint:scenario-in-root':_0x402b33(0x150),'lint:mustache-in-dsl':_0x402b33(0x150),'lint:goto-concat':_0x402b33(0x148),'lint:regex-invalid':_0x402b33(0x150),'lint:echo-assert':_0x402b33(0x148),'lint:lint-ok-missing-reason':'warn','lint:flow-returns-value':'warn','validator:unknown-function':_0x402b33(0x150)}},'mcp':{'transport':_0x402b33(0x13d)},'sandbox':{}};export{BrowserChannelSchema,BrowserSchema,DEFAULT_CONFIG,DialogPolicySchema,FailureBundleConfigSchema,LinterConfigSchema,LinterRuleIdSchema,LinterSeveritySchema,McpConfigSchema,RetryConfigSchema,RetryReasonSchema,SandboxConfigSchema,UnotestConfigSchema,ViewportSchema,WebServerConfigSchema};
|
package/dist/driver/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { E as ElementHint, N as NetworkEntry, W as WebDriver, L as LaunchOptions, C as ContextOptions, D as DriverContext } from '../interfaces-
|
|
2
|
-
export { A as ActionTimeout, a as CheckOptions, b as ClickOptions, c as CookieOptions, d as DriverPage, F as FillOptions, G as GotoOptions, H as HoverOptions, e as NavigationOptions, P as PressOptions, R as ReloadOptions, S as ScreenshotOptions, f as SelectOptions, V as Viewport, g as WaitOptions, h as WaitState } from '../interfaces-
|
|
1
|
+
import { E as ElementHint, N as NetworkEntry, W as WebDriver, L as LaunchOptions, C as ContextOptions, D as DriverContext } from '../interfaces-SzdtOj1F.js';
|
|
2
|
+
export { A as ActionTimeout, a as CheckOptions, b as ClickOptions, c as CookieOptions, d as DriverPage, F as FillOptions, G as GotoOptions, H as HoverOptions, e as NavigationOptions, P as PressOptions, R as ReloadOptions, S as ScreenshotOptions, f as SelectOptions, V as Viewport, g as WaitOptions, h as WaitState } from '../interfaces-SzdtOj1F.js';
|
|
3
3
|
import '@unotest/protocol';
|
|
4
4
|
import '../config/schema.js';
|
|
5
5
|
import 'zod';
|
|
@@ -23,6 +23,9 @@ interface FakeBehavior {
|
|
|
23
23
|
countByDefault?: number;
|
|
24
24
|
/** Default textContent() response. Default: ''. */
|
|
25
25
|
textContentByDefault?: string;
|
|
26
|
+
/** Default innerText() response. Falls back to textContentByDefault when
|
|
27
|
+
* unset — most tests don't care about the rendered/raw distinction. */
|
|
28
|
+
innerTextByDefault?: string;
|
|
26
29
|
/** Default inputValue() response. Default: ''. */
|
|
27
30
|
inputValueByDefault?: string;
|
|
28
31
|
/** Default isVisible() response. Default: true. */
|
package/dist/driver/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x35457f=_0x1ef7;(function(_0x23184b,_0x2d0104){const _0x373856={_0x2bbfe8:0xe8,_0x288e65:0xd1,_0x260183:0xaf,_0x110e9a:0xae,_0x480d57:0xbc},_0x2886ee=_0x1ef7,_0x42fd36=_0x23184b();while(!![]){try{const _0xf24525=-parseInt(_0x2886ee(_0x373856._0x2bbfe8))/0x1*(parseInt(_0x2886ee(0xe4))/0x2)+parseInt(_0x2886ee(0x108))/0x3*(parseInt(_0x2886ee(_0x373856._0x288e65))/0x4)+-parseInt(_0x2886ee(_0x373856._0x260183))/0x5*(-parseInt(_0x2886ee(0xd9))/0x6)+parseInt(_0x2886ee(0xda))/0x7+parseInt(_0x2886ee(0xf9))/0x8*(-parseInt(_0x2886ee(0xdc))/0x9)+parseInt(_0x2886ee(_0x373856._0x110e9a))/0xa+-parseInt(_0x2886ee(_0x373856._0x480d57))/0xb;if(_0xf24525===_0x2d0104)break;else _0x42fd36['push'](_0x42fd36['shift']());}catch(_0x4ada7d){_0x42fd36['push'](_0x42fd36['shift']());}}}(_0x45fb,0x64827));var __defProp=Object['defineProperty'],__name=(_0x167943,_0x12d57c)=>__defProp(_0x167943,'name',{'value':_0x12d57c,'configurable':!![]});function subscribe(_0x508764,_0x4e7111){const _0x35c3a2={_0x55a11e:0xeb},_0x5d5d3d=_0x1ef7;return _0x508764[_0x5d5d3d(_0x35c3a2._0x55a11e)](_0x4e7111),()=>{_0x508764['delete'](_0x4e7111);};}function _0x45fb(){const _0x50fa85=['AxneAxnHyMXLzej5rgvMyxvSDa','Aw5ZCgvJDevSzw1LBNq','Dw5JAgvJAW','pgrPDJ48l2rPDJ4','lNbHz2uW','lNbHz2u','zNjHBwvtDgfJAW','C2v0q29VA2LL','C2v0tg9JywXtDg9YywDL','D3nfBMrWB2LUDa','z29cywnR','ywn0AxzLswr4','BMv0D29YA0vUDhjPzxm','yxr0ywnOrxHPC3rPBMCGBM90ihn1ChbVCNrLzcbIEsbgywTLv2vIrhjPDMvY','B3v0zxjive1m','zxHPDezYyw1L','pgrPDIbKyxrHlxvUB3rLC3qTCMvMpsi','y2fSBhm','zwXLBwvUDeHPBNrcEvjLzG','zxzHBhvHDgu','DxjS','y3jLyxrLuMvJB3jKzxi','y2HLy2TLzfn0yxrLqNLezwzHDwX0','BMv3ugfNzuXPC3rLBMvYCW','yMvOyxzPB3i','D2fPDezVCG','C3bSAwnL','zNjVBq','zMLSDgvY','ndi4nZGZmhbKweLUBG','nJu4odvJq0T3r1C','B25ozxDqywDL','D2fPDezVCLvYBa','y29UDgv4Dhm','zg91yMXLq2XPy2S','y291BNq','DxbSB2fKrMLSzq','CgfNzsbPBMrLEcbVDxqGB2yGCMfUz2u','C2vSzwn0t3b0Aw9U','y29UBMvJDfnOyxjLza','y29UC29SzuvUDhjPzxm','Bgf1BMnOzwq','yxr0ywnOrxHPC3rPBMC','mtCZotC4otDeD0rbqwe','CMvJB3jKzxi','D2fPDezVCLrLEhq','ywn0AxzLugfNzq','Aw5PDgLHBfvYBa','AxnwAxnPyMXL','z290BW','CgfNzuXPC3q','Bg9JywXtDg9YywDL','zhjHz0fUzerYB3a','ChvZAa','y2XPCgjVyxjKugfZDgu','yxr0CMLIDxrLC0j5rgvMyxvSDa','zMfRzsb0AxrSzq','z29gB3j3yxjK','Bwf5yMvuAhjVDW','B25bzNrLCKnSAwnR','D2fPDezVCKXVywrtDgf0zq','CMvM','BgvUz3rO','BMv3q29UDgv4Da','mJG0nti5mKLHuuLgrG','z2v0qxr0CMLIDxrL','C2nVCgu','DgL0Bgu','zhjPDMvY','CMvJB3jK','zMLSBa','Bg9JywXtDg9YywDLu3rHDgu','mZy2CKvAA1j6','mJGYoteXm2Xjshz2uq','Bwv0Ag9K','odm4nZaXvK9LDgTZ','z2v0q29VA2LL','y2HLy2TLzfn0yxrL','C2v0qwn0AxzLugfNzq','Aw5WDxrwywX1zuj5rgvMyxvSDa','C3vIC2nYAwjL','rMfRzvbHz2u','zNjHBwvezxb0Aa','mty4mZCWCMLdy1PS','y3r4','y29VA2LLCW','y3vYCMvUDfvYBa','mKnhAfnRCG','y2HLy2S','zw1PDezHA2vqB3b1Ca','ywrK','D2fPDezVCK5HDMLNyxrPB24','ChjLC3m','y2XPy2S','Dgv4DenVBNrLBNq','A2LUza','y29VA2LLu3rHDgu','C3rLChm','zxjYB3jpBK5LEhrby3rPB24','Cg9WDxbpBKnSAwnR','Aw5WDxrwywX1zq','CMvSB2fK','Ag92zxi','C2nYzwvUC2HVDa','mtzfD2nvAxa','z2v0tg9JywXtDg9YywDL','C2nYB2XSsw50B1zPzxC','B3v0zxjiDg1SqNLszwy','Cg9W','y2XVC2u','tg9JyxrVCKvYCM9Y','iJ48l2rPDJ4','BMv3q29UDgv4DcbJywXSzwqGyMvMB3jLigXHDw5JAcGP','y2XVC2vgywTLugfNzq','C2f2zvn0B3jHz2vtDgf0zq','zxzHBhvHDgvpBKXVy2f0B3i','zxHPDezYyw1LignHBgXLzcb3AxrOig5VigzYyw1Lig9UihrOzsbZDgfJAW','AxnwAxnPyMXLqNLezwzHDwX0','Bgf1BMnO','m0XLyvrjrW'];_0x45fb=function(){return _0x50fa85;};return _0x45fb();}__name(subscribe,_0x35457f(0xe1));import{UnotestError}from'@unotest/core';var DriverError=class extends UnotestError{static{__name(this,'DriverError');}},LocatorError=class extends UnotestError{static{__name(this,_0x35457f(0xff));}};function createRecorder(){const _0x12c95c={_0x5b7e41:0xc6},_0x7590ef=_0x35457f,_0x528c7a=[];let _0x2b94e7=0x0;return{'push':__name(_0x499186=>_0x528c7a['push']({..._0x499186,'seq':_0x2b94e7++}),_0x7590ef(_0x12c95c._0x5b7e41)),'calls':__name(()=>_0x528c7a,'calls')};}function _0x1ef7(_0x9e1619,_0x452e3a){_0x9e1619=_0x9e1619-0xa1;const _0x45fb39=_0x45fb();let _0x1ef74b=_0x45fb39[_0x9e1619];if(_0x1ef7['QGeDcl']===undefined){var _0x45a7ee=function(_0x158ce8){const _0x43c3ce='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x167943='',_0x12d57c='';for(let _0x508764=0x0,_0x4e7111,_0x528c7a,_0x2b94e7=0x0;_0x528c7a=_0x158ce8['charAt'](_0x2b94e7++);~_0x528c7a&&(_0x4e7111=_0x508764%0x4?_0x4e7111*0x40+_0x528c7a:_0x528c7a,_0x508764++%0x4)?_0x167943+=String['fromCharCode'](0xff&_0x4e7111>>(-0x2*_0x508764&0x6)):0x0){_0x528c7a=_0x43c3ce['indexOf'](_0x528c7a);}for(let _0x499186=0x0,_0x56b2d0=_0x167943['length'];_0x499186<_0x56b2d0;_0x499186++){_0x12d57c+='%'+('00'+_0x167943['charCodeAt'](_0x499186)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x12d57c);};_0x1ef7['fuZTdg']=_0x45a7ee,_0x1ef7['TnibdO']={},_0x1ef7['QGeDcl']=!![];}const _0x22954d=_0x45fb39[0x0],_0x3db68d=_0x9e1619+_0x22954d,_0x14ac4c=_0x1ef7['TnibdO'][_0x3db68d];return!_0x14ac4c?(_0x1ef74b=_0x1ef7['fuZTdg'](_0x1ef74b),_0x1ef7['TnibdO'][_0x3db68d]=_0x1ef74b):_0x1ef74b=_0x14ac4c,_0x1ef74b;}__name(createRecorder,_0x35457f(0xa6));var FakePage=class{constructor(_0x56b2d0,_0x1fbb6d,_0x5e5b9a,_0x57bc5d){const _0x3d015e={_0x10a6b2:0xbd},_0x25740c=_0x35457f;this[_0x25740c(_0x3d015e._0x10a6b2)]=_0x56b2d0,this[_0x25740c(0xa9)]=_0x1fbb6d,this[_0x25740c(0xd3)]=_0x5e5b9a,this['currentUrl']=_0x57bc5d;}[_0x35457f(0xbd)];[_0x35457f(0xa9)];['scope'];static{__name(this,_0x35457f(0xe2));}[_0x35457f(0xe7)];['onAfterClick'];['record'](_0x30ca8f,_0x2cb6f7){const _0xfe4f95={_0x1ebc9f:0xc6,_0x264051:0xd3},_0x34aa36=_0x35457f;this['recorder'][_0x34aa36(_0xfe4f95._0x1ebc9f)]({'scope':this[_0x34aa36(_0xfe4f95._0x264051)],'method':_0x30ca8f,'args':_0x2cb6f7});}[_0x35457f(0xcb)](){const _0x31e47b={_0x2182d9:0xa9,_0x343a63:0xf3,_0x1b5f12:0xa9,_0x3c3082:0xa9},_0x14dff7=_0x35457f;if(this[_0x14dff7(_0x31e47b._0x2182d9)][_0x14dff7(_0x31e47b._0x343a63)]){const _0x2f8931=this[_0x14dff7(_0x31e47b._0x1b5f12)][_0x14dff7(_0x31e47b._0x343a63)];this[_0x14dff7(_0x31e47b._0x3c3082)][_0x14dff7(0xf3)]=void 0x0;throw _0x2f8931;}}[_0x35457f(0xa5)](){const _0x14a01f={_0x20887b:0xe7},_0xd0877=_0x35457f;return this[_0xd0877(_0x14a01f._0x20887b)];}async[_0x35457f(0xd4)](){const _0x24fa28={_0x247106:0xd6},_0x3e812e=_0x35457f;return this[_0x3e812e(_0x24fa28._0x247106)]('title',[]),_0x3e812e(0xc9);}async[_0x35457f(0xee)](_0x10aa2a,_0x39ed17){const _0x5167ae={_0x5714c5:0xd6,_0x552564:0xee},_0x570a8c=_0x35457f;this[_0x570a8c(_0x5167ae._0x5714c5)](_0x570a8c(_0x5167ae._0x552564),[_0x10aa2a,_0x39ed17]),this['maybeThrow'](),this[_0x570a8c(0xcc)]?.();}async[_0x35457f(0xb3)](_0xf90bfd,_0x499bbf){this['record']('doubleClick',[_0xf90bfd,_0x499bbf]),this['maybeThrow']();}async[_0x35457f(0xd7)](_0x17bb7d,_0x214126,_0x1d0381){const _0x459c0a={_0x19141d:0xd6,_0x281f04:0xd7},_0x826943=_0x35457f;this[_0x826943(_0x459c0a._0x19141d)](_0x826943(_0x459c0a._0x281f04),[_0x17bb7d,_0x214126,_0x1d0381]),this[_0x826943(0xcb)]();}async[_0x35457f(0xed)](_0x2c1107,_0x604f39,_0x1e04e7){const _0x5c8af2={_0x44a49e:0xd6,_0x259887:0xed},_0x2b3716=_0x35457f;this[_0x2b3716(_0x5c8af2._0x44a49e)](_0x2b3716(_0x5c8af2._0x259887),[_0x2c1107,_0x604f39,_0x1e04e7]),this['maybeThrow']();}async[_0x35457f(0xe9)](_0x26a176,_0x13c482){const _0x522cb2={_0x427920:0xcb},_0x4238ef=_0x35457f;this[_0x4238ef(0xd6)]('check',[_0x26a176,_0x13c482]),this[_0x4238ef(_0x522cb2._0x427920)]();}async[_0x35457f(0x10b)](_0x89cad1,_0x25c4ce){const _0x29d536={_0x25c10f:0xd6},_0xe878bd=_0x35457f;this[_0xe878bd(_0x29d536._0x25c10f)]('uncheck',[_0x89cad1,_0x25c4ce]),this['maybeThrow']();}async[_0x35457f(0xb7)](_0x3dadf0,_0x24ceff,_0x26c4ab){const _0x548b75={_0x3c8e9b:0xd6},_0x28d6e6=_0x35457f;this[_0x28d6e6(_0x548b75._0x3c8e9b)](_0x28d6e6(0xb7),[_0x3dadf0,_0x24ceff,_0x26c4ab]),this['maybeThrow']();}async[_0x35457f(0xf7)](_0x3afe96,_0xa6fc52){const _0x1eaf0c=_0x35457f;this[_0x1eaf0c(0xd6)](_0x1eaf0c(0xf7),[_0x3afe96,_0xa6fc52]),this['maybeThrow']();}async[_0x35457f(0xfb)](_0xbb3c55){const _0x56c4ee={_0xfaf2fb:0xd6},_0x598b9c=_0x35457f;this[_0x598b9c(_0x56c4ee._0xfaf2fb)](_0x598b9c(0xfb),[_0xbb3c55]),this[_0x598b9c(0xcb)]();}async[_0x35457f(0xc5)](_0x27c67d,_0x350c7a,_0xbe0c68){const _0x236555={_0x32e349:0xd6,_0x375e64:0xcb},_0x4a6dab=_0x35457f;this[_0x4a6dab(_0x236555._0x32e349)]('dragAndDrop',[_0x27c67d,_0x350c7a,_0xbe0c68]),this[_0x4a6dab(_0x236555._0x375e64)]();}async[_0x35457f(0xb5)](_0x58f12f,_0x27be9d){const _0x42a292={_0x2f7075:0xb5,_0x4707fe:0xcb},_0xe513ef=_0x35457f;this[_0xe513ef(0xd6)](_0xe513ef(_0x42a292._0x2f7075),[_0x58f12f,_0x27be9d]),this[_0xe513ef(_0x42a292._0x4707fe)]();}async[_0x35457f(0xc7)](_0xd0bfa1,_0x305478){const _0x1e4bfc={_0x5d71d4:0xd6},_0x55093f=_0x35457f;this[_0x55093f(_0x1e4bfc._0x5d71d4)](_0x55093f(0xc7),[_0xd0bfa1,_0x305478]),this[_0x55093f(0xcb)]();}async[_0x35457f(0xb4)](_0x7b1ed3){const _0x308d9f={_0x45580d:0xd6,_0x4d94f9:0xa9},_0x41ebd5=_0x35457f;return this[_0x41ebd5(_0x308d9f._0x45580d)]('count',[_0x7b1ed3]),this[_0x41ebd5(_0x308d9f._0x4d94f9)]['countByDefault']??0x1;}async['textContent'](_0x582e4f){const _0x1cdbef={_0x21b141:0xef},_0x33631a=_0x35457f;return this['record'](_0x33631a(_0x1cdbef._0x21b141),[_0x582e4f]),this['behavior']['textContentByDefault']??'';}async[_0x35457f(0xf5)](_0x1f1cbc){const _0x60ae35={_0x570fdb:0xd6,_0x140f91:0xa9,_0x1a6d0d:0xe0},_0x22be87=_0x35457f;return this[_0x22be87(_0x60ae35._0x570fdb)]('inputValue',[_0x1f1cbc]),this[_0x22be87(_0x60ae35._0x140f91)][_0x22be87(_0x60ae35._0x1a6d0d)]??'';}async[_0x35457f(0xde)](_0x5e24e4){const _0x10e6a9={_0x30191b:0xa7},_0x286374=_0x35457f;return this['record']('checkedState',[_0x5e24e4]),this[_0x286374(0xa9)][_0x286374(_0x10e6a9._0x30191b)]??null;}async[_0x35457f(0xc1)](_0xc880dd){const _0x213d4d={_0x14e8de:0xd6,_0x4ca968:0xc1,_0x1058d9:0xa9,_0xfa9037:0x106},_0x2a01ba=_0x35457f;return this[_0x2a01ba(_0x213d4d._0x14e8de)](_0x2a01ba(_0x213d4d._0x4ca968),[_0xc880dd]),this[_0x2a01ba(_0x213d4d._0x1058d9)][_0x2a01ba(_0x213d4d._0xfa9037)]??!![];}async['isDisabled'](_0x574c80){const _0x530cb1={_0x1ed51c:0xd6},_0x593e89=_0x35457f;return this[_0x593e89(_0x530cb1._0x1ed51c)]('isDisabled',[_0x574c80]),this[_0x593e89(0xa9)][_0x593e89(0x109)]??![];}async['getAttribute'](_0x24a072,_0x19d815){const _0x20c74a={_0x51e3f7:0xd6,_0xee9d47:0xd2,_0x44891a:0xa9},_0x2fa332=_0x35457f;return this[_0x2fa332(_0x20c74a._0x51e3f7)](_0x2fa332(_0x20c74a._0xee9d47),[_0x24a072,_0x19d815]),this[_0x2fa332(_0x20c74a._0x44891a)][_0x2fa332(0xc8)]?.[_0x19d815]??null;}async['waitFor'](_0x4f563e,_0x2293c8){const _0x260365={_0x58b377:0xaa},_0x36457e=_0x35457f;this[_0x36457e(0xd6)](_0x36457e(_0x260365._0x58b377),[_0x4f563e,_0x2293c8]);}async[_0x35457f(0xb1)](_0x3bdf4e,_0x5412fc){const _0x4cb7db={_0xddfb9a:0xb1},_0x186f3a=_0x35457f;this[_0x186f3a(0xd6)](_0x186f3a(_0x4cb7db._0xddfb9a),[_0x3bdf4e,_0x5412fc]);}async[_0x35457f(0xbe)](_0x1c9ea1,_0x1110ea){const _0x19ea37={_0x49a5df:0xd6},_0x27baaf=_0x35457f;this[_0x27baaf(_0x19ea37._0x49a5df)]('waitForText',[_0x1c9ea1,_0x1110ea]);}async[_0x35457f(0xec)](_0x5277b7){const _0x1351a0={_0x5877a4:0xec},_0x4bc318=_0x35457f;this['record'](_0x4bc318(_0x1351a0._0x5877a4),[_0x5277b7]);}async[_0x35457f(0xcd)](_0x19b980,_0xac0995){const _0x145b16={_0x30da52:0xd6},_0x4aeba2=_0x35457f;this[_0x4aeba2(_0x145b16._0x30da52)](_0x4aeba2(0xcd),[_0x19b980,_0xac0995]);}async[_0x35457f(0xc2)](_0x23fefc,_0x302c04){const _0x40e834={_0x5786ea:0xd6,_0x180cde:0xe7},_0x18bdbd=_0x35457f;this[_0x18bdbd(_0x40e834._0x5786ea)]('goto',[_0x23fefc,_0x302c04]),this[_0x18bdbd(_0x40e834._0x180cde)]=_0x23fefc;}async[_0x35457f(0xf6)](_0x2c758a){const _0x17d6e2=_0x35457f;this[_0x17d6e2(0xd6)]('reload',[_0x2c758a]);}async[_0x35457f(0x113)](_0x357b3d){const _0x59a41f={_0x5d3d8a:0xd6},_0x29d6a1=_0x35457f;this[_0x29d6a1(_0x59a41f._0x5d3d8a)]('goBack',[_0x357b3d]);}async['goForward'](_0x53410d){const _0x37bec9={_0x3d25e9:0xca},_0x56896d=_0x35457f;this[_0x56896d(0xd6)](_0x56896d(_0x37bec9._0x3d25e9),[_0x53410d]);}async[_0x35457f(0xa4)](_0x203567){const _0x2c8690={_0x5c3271:0xd6,_0xe377:0xa4},_0x572e35=_0x35457f;return this[_0x572e35(_0x2c8690._0x5c3271)](_0x572e35(_0x2c8690._0xe377),[_0x203567]),void 0x0;}async[_0x35457f(0x104)](_0x4be6d1,_0x57aac1){const _0x3226cb={_0x549265:0xd6},_0x50b13a=_0x35457f;return this[_0x50b13a(_0x3226cb._0x549265)](_0x50b13a(0x104),[_0x4be6d1,_0x57aac1]),void 0x0;}async[_0x35457f(0x10a)](_0x48f1b9){const _0x551552={_0x37ca34:0xd6,_0x173c18:0x10a,_0x48a900:0xcf,_0x1ebef6:0xf0,_0x307442:0xce,_0x566d1c:0xa9,_0x5d840a:0xa3},_0x768646=_0x35457f;this[_0x768646(_0x551552._0x37ca34)](_0x768646(_0x551552._0x173c18),[_0x48f1b9]);if(_0x48f1b9['steps'][_0x768646(_0x551552._0x48a900)]!==0x1||_0x48f1b9['steps'][0x0][_0x768646(_0x551552._0x1ebef6)]!==_0x768646(_0x551552._0x307442))return null;const _0x31b15e=_0x48f1b9[_0x768646(0xf2)][0x0]['ref'],_0x1bb107=this[_0x768646(_0x551552._0x566d1c)][_0x768646(_0x551552._0x5d840a)]?.[_0x31b15e];return _0x1bb107??null;}async[_0x35457f(0xf8)](_0x32022b){const _0x50ad0d={_0x1e4dd4:0xac},_0x26a9a9=_0x35457f;return this[_0x26a9a9(0xd6)](_0x26a9a9(0xf8),[_0x32022b]),Buffer[_0x26a9a9(_0x50ad0d._0x1e4dd4)]('fake-png');}async[_0x35457f(0x117)](_0x394f37){const _0x451d23={_0x133f5:0xf2,_0x2f52e9:0xf0,_0x2801e5:0xce,_0x5164c3:0xfc,_0x461cc1:0x100},_0x1613de=_0x35457f;this[_0x1613de(0xd6)](_0x1613de(0x117),[_0x394f37]);if(_0x394f37[_0x1613de(_0x451d23._0x133f5)]['length']===0x1&&_0x394f37[_0x1613de(0xf2)][0x0][_0x1613de(_0x451d23._0x2f52e9)]===_0x1613de(_0x451d23._0x2801e5)){const _0x3234e2=_0x394f37['steps'][0x0]['ref'];return this['behavior'][_0x1613de(_0x451d23._0x5164c3)]?.[_0x3234e2]??_0x1613de(0xa1)+_0x3234e2+_0x1613de(_0x451d23._0x461cc1);}return _0x1613de(0x10c);}},FakeContext=class{constructor(_0x30c621,_0x5c1adf,_0x3f61ee){const _0x3c5b25={_0x2cec9a:0xbd,_0x5954cc:0xc0,_0x1943b1:0xd8},_0x8972c5=_0x35457f;this[_0x8972c5(_0x3c5b25._0x2cec9a)]=_0x30c621,this['behavior']=_0x5c1adf,this['scope']=_0x3f61ee;const _0x14749f=new FakePage(_0x30c621,_0x5c1adf,_0x3f61ee+_0x8972c5(0x10d),_0x5c1adf[_0x8972c5(_0x3c5b25._0x5954cc)]??'about:blank');_0x5c1adf[_0x8972c5(0xf4)]&&(_0x14749f[_0x8972c5(0xcc)]=()=>{const _0xbf6516=_0x8972c5;this['emitFakePopup'](_0x5c1adf[_0xbf6516(0xf4)]);}),this[_0x8972c5(0xc3)]=[_0x14749f],this[_0x8972c5(_0x3c5b25._0x1943b1)]={..._0x5c1adf[_0x8972c5(0xc4)]??{}},this[_0x8972c5(0xf1)]={..._0x5c1adf[_0x8972c5(0xe6)]??{}};}[_0x35457f(0xbd)];[_0x35457f(0xa9)];['scope'];static{__name(this,'FakeContext');}[_0x35457f(0xc3)];[_0x35457f(0x114)]=0x0;[_0x35457f(0x10f)]=[];[_0x35457f(0xd8)];[_0x35457f(0xf1)];[_0x35457f(0xa8)]=new Set();['record'](_0x470e0e,_0x592c4a){const _0x643acc={_0x111260:0xc6,_0x4908c6:0xd3},_0x3255cf=_0x35457f;this[_0x3255cf(0xbd)][_0x3255cf(_0x643acc._0x111260)]({'scope':this[_0x3255cf(_0x643acc._0x4908c6)],'method':_0x470e0e,'args':_0x592c4a});}['pages'](){return this['pageList'];}[_0x35457f(0xbf)](){const _0x2db682={_0x454a85:0x114},_0x192c58=_0x35457f,_0x220ae8=this[_0x192c58(0xc3)][this[_0x192c58(_0x2db682._0x454a85)]];if(!_0x220ae8)throw new DriverError('no\x20active\x20page\x20in\x20context',{'activeIdx':this['activeIdx']});return _0x220ae8;}[_0x35457f(0xb9)](){const _0x87a30b={_0x41a64f:0xb9},_0x14f00e=_0x35457f;return this[_0x14f00e(0xa9)][_0x14f00e(_0x87a30b._0x41a64f)]??[];}[_0x35457f(0x115)](){const _0x240e09=_0x35457f;return this['behavior'][_0x240e09(0x115)]??[];}async[_0x35457f(0xdf)](_0xe4f38f){const _0x5a8452={_0x13a2a0:0xd6,_0x62a955:0xdf,_0x2e8c6a:0x114,_0x3e4cf8:0x10f,_0x4d0b3c:0xcf},_0x5a194e=_0x35457f;this[_0x5a194e(_0x5a8452._0x13a2a0)](_0x5a194e(_0x5a8452._0x62a955),[_0xe4f38f]);if(_0xe4f38f<0x0||_0xe4f38f>=this[_0x5a194e(0xc3)][_0x5a194e(0xcf)])throw new DriverError(_0x5a194e(0xb6),{'index':_0xe4f38f,'available':this[_0x5a194e(0xc3)][_0x5a194e(0xcf)]});this[_0x5a194e(_0x5a8452._0x2e8c6a)]=_0xe4f38f,this[_0x5a194e(_0x5a8452._0x3e4cf8)][_0x5a194e(_0x5a8452._0x4d0b3c)]=0x0;}[_0x35457f(0xb0)](_0x4b3d81){const _0x24c036={_0x555ccc:0xa8},_0x26ed8d=_0x35457f;return subscribe(this[_0x26ed8d(_0x24c036._0x555ccc)],_0x4b3d81);}[_0x35457f(0xea)](_0x24bf7a){const _0x33d4a3={_0x4dc0b4:0x10e,_0x50f1e1:0xc3,_0x23ce15:0xcf,_0x50ef5d:0xa8},_0x43339c=_0x35457f,_0x241622=this[_0x43339c(0xd3)]+_0x43339c(_0x33d4a3._0x4dc0b4)+this[_0x43339c(_0x33d4a3._0x50f1e1)][_0x43339c(0xcf)],_0x42d655=new FakePage(this[_0x43339c(0xbd)],this['behavior'],_0x241622,_0x24bf7a);this[_0x43339c(_0x33d4a3._0x50f1e1)]['push'](_0x42d655);const _0x20bf5b=this['pageList'][_0x43339c(_0x33d4a3._0x23ce15)]-0x1;for(const _0x297844 of this[_0x43339c(_0x33d4a3._0x50ef5d)]){try{_0x297844({'index':_0x20bf5b,'url':_0x24bf7a});}catch{}}return _0x20bf5b;}[_0x35457f(0x102)](_0x20d14a){const _0x2f9076={_0x1453e9:0xcf},_0x349fbe=_0x35457f;if(_0x20d14a<0x0||_0x20d14a>=this['pageList']['length'])throw new DriverError(_0x349fbe(0xb6),{'index':_0x20d14a,'available':this[_0x349fbe(0xc3)][_0x349fbe(_0x2f9076._0x1453e9)]});this['pageList'][_0x349fbe(0xab)](_0x20d14a,0x1);}async['enterFrame'](_0xd144b3){const _0x156936={_0x298091:0xd6},_0x2b213d=_0x35457f;this[_0x2b213d(_0x156936._0x298091)]('enterFrame',[_0xd144b3]);if(!_0xd144b3[_0x2b213d(0xf2)][_0x2b213d(0xcf)])throw new LocatorError('enterFrame\x20called\x20with\x20empty\x20locator',{'locator':_0xd144b3});this['frameStack']['push'](_0xd144b3);}async[_0x35457f(0x118)](){const _0xa789e5={_0x585d16:0x118,_0x349c2a:0x10f},_0x28dcb1=_0x35457f;this['record'](_0x28dcb1(_0xa789e5._0x585d16),[]);if(this[_0x28dcb1(0x10f)][_0x28dcb1(0xcf)]===0x0)throw new DriverError(_0x28dcb1(0x105),{});this[_0x28dcb1(_0xa789e5._0x349c2a)][_0x28dcb1(0xfd)]();}async[_0x35457f(0x111)](_0x4b499f,_0xb7544){const _0x5a220f={_0x120d09:0xd8},_0x1b41b7=_0x35457f;this[_0x1b41b7(0xd6)](_0x1b41b7(0x111),[_0x4b499f,_0xb7544]),this[_0x1b41b7(_0x5a220f._0x120d09)][_0x4b499f]=_0xb7544;}async['getLocalStorage'](_0x4d0bd8){const _0x5dffd9={_0x56f247:0xfa,_0x2a8bc0:0xd8},_0x1a7d08=_0x35457f;return this[_0x1a7d08(0xd6)](_0x1a7d08(_0x5dffd9._0x56f247),[_0x4d0bd8]),this[_0x1a7d08(_0x5dffd9._0x2a8bc0)][_0x4d0bd8]??null;}async[_0x35457f(0x110)](_0x571561,_0x565a6e,_0x7cef8){const _0x25bc4a={_0x536a64:0xf1},_0x1efd6b=_0x35457f;this[_0x1efd6b(0xd6)](_0x1efd6b(0x110),[_0x571561,_0x565a6e,_0x7cef8]),this[_0x1efd6b(_0x25bc4a._0x536a64)][_0x571561]=_0x565a6e;}async[_0x35457f(0xdd)](_0x5b5595){const _0x51edf3={_0x4f0b32:0xd6},_0x570008=_0x35457f;return this[_0x570008(_0x51edf3._0x4f0b32)](_0x570008(0xdd),[_0x5b5595]),this[_0x570008(0xf1)][_0x5b5595]??null;}async[_0x35457f(0x103)](_0x2c4e9b){const _0x14b96f=_0x35457f;this['record'](_0x14b96f(0x103),[_0x2c4e9b]);}async[_0x35457f(0xa4)](_0x3cdcd0){const _0x3aa4fa=_0x35457f;return this['record'](_0x3aa4fa(0xa4),[_0x3cdcd0]),void 0x0;}async[_0x35457f(0xfe)](){const _0x4b96e7={_0x3bff27:0xd6,_0x5afaf8:0xfe},_0x4274d3=_0x35457f;this[_0x4274d3(_0x4b96e7._0x3bff27)](_0x4274d3(_0x4b96e7._0x5afaf8),[]);}[_0x35457f(0xe3)](){const _0x2fbefe=_0x35457f;return this[_0x2fbefe(0x10f)]['length'];}},FakeWebDriver=class{constructor(_0xbe61b2={}){this['behavior']=_0xbe61b2,this['recorder']=createRecorder();}[_0x35457f(0xa9)];static{__name(this,'FakeWebDriver');}['launched']=![];[_0x35457f(0xbd)];[_0x35457f(0xb2)]=[];async[_0x35457f(0x107)](_0x59b795){const _0x230219={_0x1229d7:0x107},_0x29e960=_0x35457f;this[_0x29e960(0xbd)][_0x29e960(0xc6)]({'scope':'driver','method':_0x29e960(_0x230219._0x1229d7),'args':[_0x59b795]}),this[_0x29e960(0xba)]=!![];}async['newContext'](_0xedfb76){const _0x520b71={_0x539ec9:0x101,_0x1b8c04:0xb2,_0x35eff8:0xc6},_0x276e8d=_0x35457f;this['recorder'][_0x276e8d(0xc6)]({'scope':'driver','method':_0x276e8d(0xd0),'args':[_0xedfb76]});if(!this['launched'])throw new DriverError(_0x276e8d(_0x520b71._0x539ec9),{});const _0x275552=new FakeContext(this[_0x276e8d(0xbd)],this[_0x276e8d(0xa9)],_0x276e8d(0xe5)+this['contexts'][_0x276e8d(0xcf)]);return this[_0x276e8d(_0x520b71._0x1b8c04)][_0x276e8d(_0x520b71._0x35eff8)](_0x275552),_0x275552;}async[_0x35457f(0xfe)](){const _0x214547={_0x455cce:0xbd,_0x3623af:0xd5,_0x13df0a:0xba},_0xd8ac02=_0x35457f;this[_0xd8ac02(_0x214547._0x455cce)][_0xd8ac02(0xc6)]({'scope':_0xd8ac02(_0x214547._0x3623af),'method':_0xd8ac02(0xfe),'args':[]}),this[_0xd8ac02(_0x214547._0x13df0a)]=![];}[_0x35457f(0x112)](){return void 0x0;}async[_0x35457f(0xb8)](){throw new DriverError('connectShared\x20not\x20supported\x20by\x20FakeWebDriver',{});}[_0x35457f(0xbb)](){const _0x59a110={_0x3d3c49:0x116},_0x378e9a=_0x35457f;throw new DriverError(_0x378e9a(_0x59a110._0x3d3c49),{});}[_0x35457f(0xa2)](){const _0x3be858={_0x9458db:0xa2},_0x1776cd=_0x35457f;return this[_0x1776cd(0xbd)][_0x1776cd(_0x3be858._0x9458db)]();}['callsFor'](_0x5c14b7){const _0x5b83d2=_0x35457f;return this['recorder'][_0x5b83d2(0xa2)]()[_0x5b83d2(0xad)](_0x1ef49a=>_0x1ef49a[_0x5b83d2(0xdb)]===_0x5c14b7);}};export{FakeWebDriver};
|
|
1
|
+
const _0x4fda48=_0x3da6;(function(_0x14a289,_0x1167ca){const _0x54b196={_0xae0a86:0x196,_0x260c76:0x173,_0x27eab6:0x1ab,_0x245d8d:0x1ba,_0x5706ff:0x171,_0x22113e:0x1a6,_0x26434f:0x169,_0x4de5d2:0x180,_0x543a42:0x14b,_0x477d21:0x1c1},_0x27ced1=_0x3da6,_0x11b690=_0x14a289();while(!![]){try{const _0x2a51a7=parseInt(_0x27ced1(0x198))/0x1*(parseInt(_0x27ced1(_0x54b196._0xae0a86))/0x2)+parseInt(_0x27ced1(_0x54b196._0x260c76))/0x3*(-parseInt(_0x27ced1(_0x54b196._0x27eab6))/0x4)+parseInt(_0x27ced1(_0x54b196._0x245d8d))/0x5*(parseInt(_0x27ced1(_0x54b196._0x5706ff))/0x6)+-parseInt(_0x27ced1(_0x54b196._0x22113e))/0x7+-parseInt(_0x27ced1(_0x54b196._0x26434f))/0x8*(parseInt(_0x27ced1(_0x54b196._0x4de5d2))/0x9)+parseInt(_0x27ced1(0x189))/0xa+-parseInt(_0x27ced1(_0x54b196._0x543a42))/0xb*(-parseInt(_0x27ced1(_0x54b196._0x477d21))/0xc);if(_0x2a51a7===_0x1167ca)break;else _0x11b690['push'](_0x11b690['shift']());}catch(_0x4f01f8){_0x11b690['push'](_0x11b690['shift']());}}}(_0x202f,0x5c8e1));var __defProp=Object[_0x4fda48(0x157)],__name=(_0x1f3a89,_0x2d4c12)=>__defProp(_0x1f3a89,_0x4fda48(0x1af),{'value':_0x2d4c12,'configurable':!![]});function subscribe(_0x57d31d,_0x2b934d){const _0x5eda5a={_0x35f4dc:0x17c},_0x704c0f={_0x11ab8a:0x16d},_0x2f242a=_0x4fda48;return _0x57d31d[_0x2f242a(_0x5eda5a._0x35f4dc)](_0x2b934d),()=>{const _0x4c7f69=_0x2f242a;_0x57d31d[_0x4c7f69(_0x704c0f._0x11ab8a)](_0x2b934d);};}__name(subscribe,_0x4fda48(0x1aa));import{UnotestError}from'@unotest/core';var DriverError=class extends UnotestError{static{__name(this,'DriverError');}},LocatorError=class extends UnotestError{static{__name(this,_0x4fda48(0x19f));}};function _0x3da6(_0x55a219,_0x1b6fd6){_0x55a219=_0x55a219-0x149;const _0x202fb1=_0x202f();let _0x3da601=_0x202fb1[_0x55a219];if(_0x3da6['dhOROi']===undefined){var _0x1c97f2=function(_0x4d7db9){const _0x37d997='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1f3a89='',_0x2d4c12='';for(let _0x57d31d=0x0,_0x2b934d,_0x5a9206,_0x1a24df=0x0;_0x5a9206=_0x4d7db9['charAt'](_0x1a24df++);~_0x5a9206&&(_0x2b934d=_0x57d31d%0x4?_0x2b934d*0x40+_0x5a9206:_0x5a9206,_0x57d31d++%0x4)?_0x1f3a89+=String['fromCharCode'](0xff&_0x2b934d>>(-0x2*_0x57d31d&0x6)):0x0){_0x5a9206=_0x37d997['indexOf'](_0x5a9206);}for(let _0x50f9e8=0x0,_0x2704ee=_0x1f3a89['length'];_0x50f9e8<_0x2704ee;_0x50f9e8++){_0x2d4c12+='%'+('00'+_0x1f3a89['charCodeAt'](_0x50f9e8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d4c12);};_0x3da6['jvknID']=_0x1c97f2,_0x3da6['BkwqyM']={},_0x3da6['dhOROi']=!![];}const _0x1b2ad2=_0x202fb1[0x0],_0x519254=_0x55a219+_0x1b2ad2,_0x14e3da=_0x3da6['BkwqyM'][_0x519254];return!_0x14e3da?(_0x3da601=_0x3da6['jvknID'](_0x3da601),_0x3da6['BkwqyM'][_0x519254]=_0x3da601):_0x3da601=_0x14e3da,_0x3da601;}function createRecorder(){const _0x45c7af={_0x537ad7:0x1b8},_0x428a9b=_0x4fda48,_0x5a9206=[];let _0x1a24df=0x0;return{'push':__name(_0x50f9e8=>_0x5a9206[_0x428a9b(0x1b8)]({..._0x50f9e8,'seq':_0x1a24df++}),_0x428a9b(_0x45c7af._0x537ad7)),'calls':__name(()=>_0x5a9206,_0x428a9b(0x16e))};}__name(createRecorder,'createRecorder');var FakePage=class{constructor(_0x2704ee,_0x1b7fca,_0x3ca7e6,_0x326544){const _0x3dc491={_0x3ef3ce:0x19c},_0x55491d=_0x4fda48;this[_0x55491d(_0x3dc491._0x3ef3ce)]=_0x2704ee,this[_0x55491d(0x17d)]=_0x1b7fca,this[_0x55491d(0x199)]=_0x3ca7e6,this[_0x55491d(0x1a1)]=_0x326544;}[_0x4fda48(0x19c)];['behavior'];['scope'];static{__name(this,_0x4fda48(0x170));}[_0x4fda48(0x1a1)];[_0x4fda48(0x149)];['record'](_0x1475a8,_0x300677){const _0x386db1={_0x2c0461:0x1b8},_0x34400b=_0x4fda48;this['recorder'][_0x34400b(_0x386db1._0x2c0461)]({'scope':this[_0x34400b(0x199)],'method':_0x1475a8,'args':_0x300677});}[_0x4fda48(0x176)](){const _0x167112={_0x649841:0x17d,_0x3217be:0x174},_0x9a4b8f=_0x4fda48;if(this[_0x9a4b8f(_0x167112._0x649841)][_0x9a4b8f(_0x167112._0x3217be)]){const _0x55179b=this['behavior']['errorOnNextAction'];this[_0x9a4b8f(_0x167112._0x649841)]['errorOnNextAction']=void 0x0;throw _0x55179b;}}[_0x4fda48(0x1ad)](){const _0x148df0=_0x4fda48;return this[_0x148df0(0x1a1)];}async[_0x4fda48(0x17f)](){const _0x4d5476={_0x1de29f:0x15e,_0x214ed8:0x17f,_0x56d411:0x160},_0x4c5ded=_0x4fda48;return this[_0x4c5ded(_0x4d5476._0x1de29f)](_0x4c5ded(_0x4d5476._0x214ed8),[]),_0x4c5ded(_0x4d5476._0x56d411);}async['click'](_0x56215a,_0x4636fa){const _0x234f3e={_0x4107aa:0x176,_0x5292cb:0x149},_0x617758=_0x4fda48;this[_0x617758(0x15e)](_0x617758(0x1bc),[_0x56215a,_0x4636fa]),this[_0x617758(_0x234f3e._0x4107aa)](),this[_0x617758(_0x234f3e._0x5292cb)]?.();}async['doubleClick'](_0x1628a5,_0x4ef8cb){const _0x30ef97={_0x3a4b43:0x15e},_0x5bfd86=_0x4fda48;this[_0x5bfd86(_0x30ef97._0x3a4b43)](_0x5bfd86(0x1bd),[_0x1628a5,_0x4ef8cb]),this[_0x5bfd86(0x176)]();}async[_0x4fda48(0x1bf)](_0x38bdaf,_0x52c54a,_0x4d4e43){const _0x1d559e=_0x4fda48;this[_0x1d559e(0x15e)](_0x1d559e(0x1bf),[_0x38bdaf,_0x52c54a,_0x4d4e43]),this[_0x1d559e(0x176)]();}async[_0x4fda48(0x1a2)](_0x1a76e7,_0x37f08e,_0x27e5db){const _0x20d938={_0x2c630f:0x15e,_0x330ab9:0x1a2},_0x24df0a=_0x4fda48;this[_0x24df0a(_0x20d938._0x2c630f)](_0x24df0a(_0x20d938._0x330ab9),[_0x1a76e7,_0x37f08e,_0x27e5db]),this['maybeThrow']();}async[_0x4fda48(0x18d)](_0x1cf402,_0x1883f0){const _0x123d3a={_0x1ff6e0:0x176},_0x5b2a76=_0x4fda48;this[_0x5b2a76(0x15e)](_0x5b2a76(0x18d),[_0x1cf402,_0x1883f0]),this[_0x5b2a76(_0x123d3a._0x1ff6e0)]();}async[_0x4fda48(0x17e)](_0x6913ab,_0x491363){const _0x4bb455={_0x33d7fc:0x15e,_0x2c7086:0x176},_0xc59666=_0x4fda48;this[_0xc59666(_0x4bb455._0x33d7fc)](_0xc59666(0x17e),[_0x6913ab,_0x491363]),this[_0xc59666(_0x4bb455._0x2c7086)]();}async[_0x4fda48(0x151)](_0x3bf56d,_0x132a21,_0x35dc04){const _0x5a4541=_0x4fda48;this[_0x5a4541(0x15e)](_0x5a4541(0x151),[_0x3bf56d,_0x132a21,_0x35dc04]),this['maybeThrow']();}async[_0x4fda48(0x1a0)](_0x29f5cb,_0x615f7e){const _0x2db6e4={_0x3ff8d5:0x1a0},_0x43260a=_0x4fda48;this['record'](_0x43260a(_0x2db6e4._0x3ff8d5),[_0x29f5cb,_0x615f7e]),this[_0x43260a(0x176)]();}async[_0x4fda48(0x16b)](_0xa41046){const _0x400013={_0x356f8f:0x15e,_0x22f392:0x16b},_0x102020=_0x4fda48;this[_0x102020(_0x400013._0x356f8f)](_0x102020(_0x400013._0x22f392),[_0xa41046]),this['maybeThrow']();}async[_0x4fda48(0x1b0)](_0x41aa7a,_0x1f4459,_0x9729fd){const _0x453028={_0xe4e44a:0x176},_0x140d14=_0x4fda48;this[_0x140d14(0x15e)]('dragAndDrop',[_0x41aa7a,_0x1f4459,_0x9729fd]),this[_0x140d14(_0x453028._0xe4e44a)]();}async[_0x4fda48(0x1a3)](_0x1e8dfd,_0x4abb85){const _0x10c0f1={_0x361245:0x1a3},_0x174d81=_0x4fda48;this[_0x174d81(0x15e)](_0x174d81(_0x10c0f1._0x361245),[_0x1e8dfd,_0x4abb85]),this['maybeThrow']();}async[_0x4fda48(0x1bb)](_0x471ffe,_0x24adcb){const _0x44d596={_0xdd43d5:0x15e,_0x5ccad5:0x176},_0x42caa4=_0x4fda48;this[_0x42caa4(_0x44d596._0xdd43d5)](_0x42caa4(0x1bb),[_0x471ffe,_0x24adcb]),this[_0x42caa4(_0x44d596._0x5ccad5)]();}async[_0x4fda48(0x155)](_0x58c6ad){const _0xd25668=_0x4fda48;return this[_0xd25668(0x15e)]('count',[_0x58c6ad]),this[_0xd25668(0x17d)]['countByDefault']??0x1;}async[_0x4fda48(0x1b3)](_0x51c23b){const _0x5f5184={_0x24ad4e:0x1b3,_0x20b2f5:0x17d},_0x3836dc=_0x4fda48;return this['record'](_0x3836dc(_0x5f5184._0x24ad4e),[_0x51c23b]),this[_0x3836dc(_0x5f5184._0x20b2f5)][_0x3836dc(0x16f)]??'';}async[_0x4fda48(0x188)](_0x4adfa5){const _0x161e73={_0x3dff5c:0x188,_0x519a31:0x17d,_0x1e208b:0x16f},_0x276c5c=_0x4fda48;return this[_0x276c5c(0x15e)](_0x276c5c(_0x161e73._0x3dff5c),[_0x4adfa5]),this['behavior']['innerTextByDefault']??this[_0x276c5c(_0x161e73._0x519a31)][_0x276c5c(_0x161e73._0x1e208b)]??'';}async['inputValue'](_0x2ed382){const _0x36bce0={_0x1c0df5:0x195},_0x2e776a=_0x4fda48;return this[_0x2e776a(0x15e)](_0x2e776a(_0x36bce0._0x1c0df5),[_0x2ed382]),this[_0x2e776a(0x17d)]['inputValueByDefault']??'';}async['checkedState'](_0x5ee839){const _0x48b51f={_0x4e16f7:0x1c3},_0x544bb8=_0x4fda48;return this['record'](_0x544bb8(_0x48b51f._0x4e16f7),[_0x5ee839]),this[_0x544bb8(0x17d)]['checkedStateByDefault']??null;}async[_0x4fda48(0x186)](_0x4a0c4f){const _0x4a0e37=_0x4fda48;return this[_0x4a0e37(0x15e)]('isVisible',[_0x4a0c4f]),this['behavior'][_0x4a0e37(0x165)]??!![];}async[_0x4fda48(0x164)](_0x19af53){const _0x4b4067={_0x20b3b3:0x15e,_0x18ae9d:0x164,_0x29fc20:0x17d,_0x12fcc:0x1a9},_0x30dda7=_0x4fda48;return this[_0x30dda7(_0x4b4067._0x20b3b3)](_0x30dda7(_0x4b4067._0x18ae9d),[_0x19af53]),this[_0x30dda7(_0x4b4067._0x29fc20)][_0x30dda7(_0x4b4067._0x12fcc)]??![];}async[_0x4fda48(0x1a8)](_0x47e36e,_0x530aff){const _0x16aa25={_0x10ca23:0x15e,_0x1f1f5e:0x168},_0x19c714=_0x4fda48;return this[_0x19c714(_0x16aa25._0x10ca23)]('getAttribute',[_0x47e36e,_0x530aff]),this['behavior'][_0x19c714(_0x16aa25._0x1f1f5e)]?.[_0x530aff]??null;}async['waitFor'](_0x1af5be,_0x177c4b){const _0x67daa4={_0x253967:0x15e,_0x2e530a:0x1ae},_0x3f8c0a=_0x4fda48;this[_0x3f8c0a(_0x67daa4._0x253967)](_0x3f8c0a(_0x67daa4._0x2e530a),[_0x1af5be,_0x177c4b]);}async[_0x4fda48(0x178)](_0x29a365,_0x57137e){const _0x163b9c=_0x4fda48;this[_0x163b9c(0x15e)]('waitForUrl',[_0x29a365,_0x57137e]);}async[_0x4fda48(0x17b)](_0x4557fd,_0x349bf8){const _0x46a9a1={_0x4b7e4a:0x17b},_0x88910b=_0x4fda48;this[_0x88910b(0x15e)](_0x88910b(_0x46a9a1._0x4b7e4a),[_0x4557fd,_0x349bf8]);}async['waitForNavigation'](_0x23d21c){const _0x14e0cc={_0x3afd1c:0x16a},_0x4d7560=_0x4fda48;this[_0x4d7560(0x15e)](_0x4d7560(_0x14e0cc._0x3afd1c),[_0x23d21c]);}async[_0x4fda48(0x185)](_0x238dd1,_0x181f98){const _0x33f1ed=_0x4fda48;this['record'](_0x33f1ed(0x185),[_0x238dd1,_0x181f98]);}async[_0x4fda48(0x1b5)](_0x59c5e5,_0x359b8b){const _0x15d7cf=_0x4fda48;this[_0x15d7cf(0x15e)]('goto',[_0x59c5e5,_0x359b8b]),this[_0x15d7cf(0x1a1)]=_0x59c5e5;}async[_0x4fda48(0x14d)](_0x312b6c){const _0x52fee2={_0x4f3d65:0x15e},_0xfad8eb=_0x4fda48;this[_0xfad8eb(_0x52fee2._0x4f3d65)]('reload',[_0x312b6c]);}async[_0x4fda48(0x193)](_0x1dbf12){const _0x129a28=_0x4fda48;this[_0x129a28(0x15e)](_0x129a28(0x193),[_0x1dbf12]);}async[_0x4fda48(0x172)](_0x22fd05){const _0x196035={_0x580252:0x172},_0x16fc84=_0x4fda48;this[_0x16fc84(0x15e)](_0x16fc84(_0x196035._0x580252),[_0x22fd05]);}async[_0x4fda48(0x163)](_0x27ef00){const _0xae502d={_0x140ddb:0x15e},_0x4ad192=_0x4fda48;return this[_0x4ad192(_0xae502d._0x140ddb)](_0x4ad192(0x163),[_0x27ef00]),void 0x0;}async[_0x4fda48(0x181)](_0x31445b,_0x208b25){const _0x464810={_0x53059c:0x15e},_0x3f44eb=_0x4fda48;return this[_0x3f44eb(_0x464810._0x53059c)](_0x3f44eb(0x181),[_0x31445b,_0x208b25]),void 0x0;}async[_0x4fda48(0x183)](_0x2f59c6){const _0x1ada00={_0x300a49:0x15e,_0x488324:0x1b9,_0x52a234:0x153,_0x25be04:0x1c0,_0x4928ea:0x14a},_0x3e9865=_0x4fda48;this[_0x3e9865(_0x1ada00._0x300a49)](_0x3e9865(0x183),[_0x2f59c6]);if(_0x2f59c6['steps'][_0x3e9865(_0x1ada00._0x488324)]!==0x1||_0x2f59c6[_0x3e9865(_0x1ada00._0x52a234)][0x0][_0x3e9865(_0x1ada00._0x25be04)]!=='ref')return null;const _0x582432=_0x2f59c6['steps'][0x0][_0x3e9865(_0x1ada00._0x4928ea)],_0x4371cb=this['behavior'][_0x3e9865(0x14f)]?.[_0x582432];return _0x4371cb??null;}async[_0x4fda48(0x187)](_0x23d5c8){const _0x58d89c={_0xbbf3e0:0x1a7,_0x5bd4e1:0x1b6},_0x20ab91=_0x4fda48;return this[_0x20ab91(0x15e)]('screenshot',[_0x23d5c8]),Buffer[_0x20ab91(_0x58d89c._0xbbf3e0)](_0x20ab91(_0x58d89c._0x5bd4e1));}async[_0x4fda48(0x15f)](_0x198ec8){const _0x1f8093={_0x1ffeb3:0x15e,_0x41ac7a:0x15f,_0x588f2e:0x153,_0x2d08cc:0x14a,_0x4db790:0x16c},_0x35a290=_0x4fda48;this[_0x35a290(_0x1f8093._0x1ffeb3)](_0x35a290(_0x1f8093._0x41ac7a),[_0x198ec8]);if(_0x198ec8[_0x35a290(_0x1f8093._0x588f2e)][_0x35a290(0x1b9)]===0x1&&_0x198ec8[_0x35a290(_0x1f8093._0x588f2e)][0x0][_0x35a290(0x1c0)]===_0x35a290(_0x1f8093._0x2d08cc)){const _0x31c957=_0x198ec8[_0x35a290(_0x1f8093._0x588f2e)][0x0][_0x35a290(_0x1f8093._0x2d08cc)];return this['behavior'][_0x35a290(0x19d)]?.[_0x31c957]??_0x35a290(_0x1f8093._0x4db790)+_0x31c957+_0x35a290(0x179);}return _0x35a290(0x18b);}},FakeContext=class{constructor(_0x2ca9fa,_0x868c52,_0x3a8b3e){const _0x1741cc={_0x5e2260:0x17d,_0x298f4d:0x162,_0x4966c1:0x14c,_0x4fd762:0x175},_0x26436f={_0x2bfb10:0x191},_0x2d2024=_0x4fda48;this[_0x2d2024(0x19c)]=_0x2ca9fa,this[_0x2d2024(_0x1741cc._0x5e2260)]=_0x868c52,this[_0x2d2024(0x199)]=_0x3a8b3e;const _0x499ab1=new FakePage(_0x2ca9fa,_0x868c52,_0x3a8b3e+'.page0',_0x868c52[_0x2d2024(_0x1741cc._0x298f4d)]??_0x2d2024(0x190));_0x868c52[_0x2d2024(0x15d)]&&(_0x499ab1['onAfterClick']=()=>{const _0x38f89b=_0x2d2024;this[_0x38f89b(_0x26436f._0x2bfb10)](_0x868c52[_0x38f89b(0x15d)]);}),this[_0x2d2024(_0x1741cc._0x4966c1)]=[_0x499ab1],this[_0x2d2024(0x19e)]={..._0x868c52[_0x2d2024(_0x1741cc._0x4fd762)]??{}},this['cookieState']={..._0x868c52['cookies']??{}};}[_0x4fda48(0x19c)];['behavior'];[_0x4fda48(0x199)];static{__name(this,_0x4fda48(0x152));}[_0x4fda48(0x14c)];[_0x4fda48(0x1b7)]=0x0;[_0x4fda48(0x192)]=[];[_0x4fda48(0x19e)];[_0x4fda48(0x1b4)];['newPageListeners']=new Set();[_0x4fda48(0x15e)](_0x1d2464,_0x58d163){const _0x3da40e={_0x429d0d:0x199},_0x3b7340=_0x4fda48;this[_0x3b7340(0x19c)][_0x3b7340(0x1b8)]({'scope':this[_0x3b7340(_0x3da40e._0x429d0d)],'method':_0x1d2464,'args':_0x58d163});}[_0x4fda48(0x194)](){const _0x1f0e21=_0x4fda48;return this[_0x1f0e21(0x14c)];}['activePage'](){const _0xb2d9f1={_0x10fe5c:0x1b7,_0xd750b:0x166,_0x166750:0x1b7},_0x40eb77=_0x4fda48,_0x26c388=this[_0x40eb77(0x14c)][this[_0x40eb77(_0xb2d9f1._0x10fe5c)]];if(!_0x26c388)throw new DriverError(_0x40eb77(_0xb2d9f1._0xd750b),{'activeIdx':this[_0x40eb77(_0xb2d9f1._0x166750)]});return _0x26c388;}[_0x4fda48(0x197)](){const _0x4d4438={_0x6ac605:0x17d},_0x1304cf=_0x4fda48;return this[_0x1304cf(_0x4d4438._0x6ac605)][_0x1304cf(0x197)]??[];}[_0x4fda48(0x158)](){const _0x309468={_0x5ec522:0x17d},_0x1d4c17=_0x4fda48;return this[_0x1d4c17(_0x309468._0x5ec522)][_0x1d4c17(0x158)]??[];}async[_0x4fda48(0x15c)](_0x42d6da){const _0x34da7e={_0x55977c:0x15e,_0x54c66f:0x14c,_0x3c9373:0x1b7,_0x30df29:0x192},_0x3a37e1=_0x4fda48;this[_0x3a37e1(_0x34da7e._0x55977c)]('setActivePage',[_0x42d6da]);if(_0x42d6da<0x0||_0x42d6da>=this[_0x3a37e1(_0x34da7e._0x54c66f)]['length'])throw new DriverError(_0x3a37e1(0x156),{'index':_0x42d6da,'available':this['pageList'][_0x3a37e1(0x1b9)]});this[_0x3a37e1(_0x34da7e._0x3c9373)]=_0x42d6da,this[_0x3a37e1(_0x34da7e._0x30df29)][_0x3a37e1(0x1b9)]=0x0;}['onNewPage'](_0x30fc4e){const _0x2a0c07={_0x10857f:0x1b1},_0x3f4455=_0x4fda48;return subscribe(this[_0x3f4455(_0x2a0c07._0x10857f)],_0x30fc4e);}[_0x4fda48(0x191)](_0x4e7be3){const _0xa57804={_0x3a1d20:0x14c,_0x11f7b2:0x1b8},_0xebb949=_0x4fda48,_0x11bd54=this[_0xebb949(0x199)]+_0xebb949(0x1ac)+this[_0xebb949(_0xa57804._0x3a1d20)]['length'],_0x202c23=new FakePage(this[_0xebb949(0x19c)],this['behavior'],_0x11bd54,_0x4e7be3);this[_0xebb949(0x14c)][_0xebb949(_0xa57804._0x11f7b2)](_0x202c23);const _0x45fd23=this[_0xebb949(0x14c)]['length']-0x1;for(const _0x28869e of this['newPageListeners']){try{_0x28869e({'index':_0x45fd23,'url':_0x4e7be3});}catch{}}return _0x45fd23;}['closeFakePage'](_0x5b0e8e){const _0x1d3d0c={_0x24e85a:0x14c,_0x3a1ddb:0x156,_0x1f9da4:0x1b9,_0x2a7616:0x1be},_0x54a5d4=_0x4fda48;if(_0x5b0e8e<0x0||_0x5b0e8e>=this[_0x54a5d4(_0x1d3d0c._0x24e85a)][_0x54a5d4(0x1b9)])throw new DriverError(_0x54a5d4(_0x1d3d0c._0x3a1ddb),{'index':_0x5b0e8e,'available':this[_0x54a5d4(0x14c)][_0x54a5d4(_0x1d3d0c._0x1f9da4)]});this[_0x54a5d4(0x14c)][_0x54a5d4(_0x1d3d0c._0x2a7616)](_0x5b0e8e,0x1);}async[_0x4fda48(0x1c2)](_0x22f8c8){const _0x18e029={_0xb90837:0x15e},_0x498ea5=_0x4fda48;this[_0x498ea5(_0x18e029._0xb90837)](_0x498ea5(0x1c2),[_0x22f8c8]);if(!_0x22f8c8[_0x498ea5(0x153)][_0x498ea5(0x1b9)])throw new LocatorError('enterFrame\x20called\x20with\x20empty\x20locator',{'locator':_0x22f8c8});this['frameStack']['push'](_0x22f8c8);}async['exitFrame'](){const _0x299773={_0x138cea:0x192,_0x4ad2b9:0x18a,_0x5f06ea:0x1a4},_0x1dd41a=_0x4fda48;this[_0x1dd41a(0x15e)]('exitFrame',[]);if(this[_0x1dd41a(_0x299773._0x138cea)]['length']===0x0)throw new DriverError(_0x1dd41a(_0x299773._0x4ad2b9),{});this[_0x1dd41a(_0x299773._0x138cea)][_0x1dd41a(_0x299773._0x5f06ea)]();}async[_0x4fda48(0x18e)](_0x4dc7ef,_0x427a66){const _0x391b7c=_0x4fda48;this[_0x391b7c(0x15e)](_0x391b7c(0x18e),[_0x4dc7ef,_0x427a66]),this[_0x391b7c(0x19e)][_0x4dc7ef]=_0x427a66;}async[_0x4fda48(0x18f)](_0x114b64){const _0x2050c3={_0x42c48a:0x19e},_0x4511ba=_0x4fda48;return this['record'](_0x4511ba(0x18f),[_0x114b64]),this[_0x4511ba(_0x2050c3._0x42c48a)][_0x114b64]??null;}async[_0x4fda48(0x14e)](_0x154457,_0x4b99c9,_0x56d8f5){const _0x534b70=_0x4fda48;this[_0x534b70(0x15e)](_0x534b70(0x14e),[_0x154457,_0x4b99c9,_0x56d8f5]),this['cookieState'][_0x154457]=_0x4b99c9;}async[_0x4fda48(0x1b2)](_0x51c570){const _0x35b00c={_0x2ea7b2:0x1b2},_0x28037e=_0x4fda48;return this[_0x28037e(0x15e)](_0x28037e(_0x35b00c._0x2ea7b2),[_0x51c570]),this['cookieState'][_0x51c570]??null;}async[_0x4fda48(0x161)](_0x1f2c06){const _0x350ead=_0x4fda48;this['record'](_0x350ead(0x161),[_0x1f2c06]);}async[_0x4fda48(0x163)](_0xdeb256){const _0x3e246e=_0x4fda48;return this[_0x3e246e(0x15e)](_0x3e246e(0x163),[_0xdeb256]),void 0x0;}async[_0x4fda48(0x154)](){const _0x3cb409={_0x351308:0x15e,_0x4ec8de:0x154},_0x3cfa32=_0x4fda48;this[_0x3cfa32(_0x3cb409._0x351308)](_0x3cfa32(_0x3cb409._0x4ec8de),[]);}['frameDepth'](){const _0x320a84=_0x4fda48;return this['frameStack'][_0x320a84(0x1b9)];}},FakeWebDriver=class{constructor(_0x4ba8b4={}){this['behavior']=_0x4ba8b4,this['recorder']=createRecorder();}['behavior'];static{__name(this,_0x4fda48(0x15a));}[_0x4fda48(0x1a5)]=![];[_0x4fda48(0x19c)];[_0x4fda48(0x15b)]=[];async[_0x4fda48(0x19a)](_0x36d76b){const _0x3410e8={_0xf9c15d:0x19a},_0x182fdb=_0x4fda48;this[_0x182fdb(0x19c)][_0x182fdb(0x1b8)]({'scope':_0x182fdb(0x17a),'method':_0x182fdb(_0x3410e8._0xf9c15d),'args':[_0x36d76b]}),this[_0x182fdb(0x1a5)]=!![];}async[_0x4fda48(0x19b)](_0x54e9bc){const _0x4d9d93={_0x1a0a75:0x19c,_0x3b5799:0x1b8,_0xd58538:0x17a,_0xfd6b97:0x1a5,_0x4133ca:0x184},_0x4ca1e8=_0x4fda48;this[_0x4ca1e8(_0x4d9d93._0x1a0a75)][_0x4ca1e8(_0x4d9d93._0x3b5799)]({'scope':_0x4ca1e8(_0x4d9d93._0xd58538),'method':_0x4ca1e8(0x19b),'args':[_0x54e9bc]});if(!this[_0x4ca1e8(_0x4d9d93._0xfd6b97)])throw new DriverError(_0x4ca1e8(_0x4d9d93._0x4133ca),{});const _0x31e610=new FakeContext(this[_0x4ca1e8(0x19c)],this[_0x4ca1e8(0x17d)],_0x4ca1e8(0x18c)+this['contexts']['length']);return this[_0x4ca1e8(0x15b)][_0x4ca1e8(_0x4d9d93._0x3b5799)](_0x31e610),_0x31e610;}async['close'](){const _0x4fd0ea={_0x432caf:0x19c,_0x545292:0x1b8,_0x5d2a6b:0x17a,_0x23719b:0x1a5},_0x2018e8=_0x4fda48;this[_0x2018e8(_0x4fd0ea._0x432caf)][_0x2018e8(_0x4fd0ea._0x545292)]({'scope':_0x2018e8(_0x4fd0ea._0x5d2a6b),'method':_0x2018e8(0x154),'args':[]}),this[_0x2018e8(_0x4fd0ea._0x23719b)]=![];}['wsEndpoint'](){return void 0x0;}async[_0x4fda48(0x167)](){const _0x4cbdf3={_0xf7f237:0x159},_0x7be49=_0x4fda48;throw new DriverError(_0x7be49(_0x4cbdf3._0xf7f237),{});}['attachExisting'](){const _0x2e2c83=_0x4fda48;throw new DriverError(_0x2e2c83(0x182),{});}[_0x4fda48(0x16e)](){return this['recorder']['calls']();}[_0x4fda48(0x150)](_0x3a5a65){const _0x5dc5bc={_0x36a807:0x19c},_0x582435=_0x4fda48;return this[_0x582435(_0x5dc5bc._0x36a807)][_0x582435(0x16e)]()['filter'](_0x2f7163=>_0x2f7163[_0x582435(0x177)]===_0x3a5a65);}};export{FakeWebDriver};function _0x202f(){const _0x5e3b9e=['C3bSAwnL','zMLSBa','A2LUza','mJCYmZe2Avj3B1ft','zw50zxjgCMfTzq','y2HLy2TLzfn0yxrL','B25bzNrLCKnSAwnR','CMvM','otL4vuTvDgO','CgfNzuXPC3q','CMvSB2fK','C2v0q29VA2LL','zwXLBwvUDeHPBNrcEvjLzG','y2fSBhngB3i','C2vSzwn0t3b0Aw9U','rMfRzunVBNrLEhq','C3rLChm','y2XVC2u','y291BNq','CgfNzsbPBMrLEcbVDxqGB2yGCMfUz2u','zgvMAw5LuhjVCgvYDhK','BMv0D29YA0vUDhjPzxm','y29UBMvJDfnOyxjLzcbUB3qGC3vWCg9YDgvKigj5iezHA2vxzwjeCML2zxi','rMfRzvDLyKrYAxzLCG','y29UDgv4Dhm','C2v0qwn0AxzLugfNzq','Cg9WDxbpBKnSAwnR','CMvJB3jK','B3v0zxjive1m','zMfRzsb0AxrSzq','C2f2zvn0B3jHz2vtDgf0zq','Aw5PDgLHBfvYBa','zxzHBhvHDgu','AxneAxnHyMXLza','AxnwAxnPyMXLqNLezwzHDwX0','BM8Gywn0AxzLihbHz2uGAw4Gy29UDgv4Da','y29UBMvJDfnOyxjLza','yxr0CMLIDxrLC0j5rgvMyxvSDa','mZq0s2rKvwLN','D2fPDezVCK5HDMLNyxrPB24','C2nYB2XSsw50B1zPzxC','pgrPDIbKyxrHlxvUB3rLC3qTCMvMpsi','zgvSzxrL','y2fSBhm','Dgv4DenVBNrLBNrcEurLzMf1Bhq','rMfRzvbHz2u','ntuZntzcrw5ZAuu','z29gB3j3yxjK','mZbWA3nNtxq','zxjYB3jpBK5LEhrby3rPB24','Bg9JywXtDg9YywDL','Bwf5yMvuAhjVDW','Bwv0Ag9K','D2fPDezVCLvYBa','iJ48l2rPDJ4','zhjPDMvY','D2fPDezVCLrLEhq','ywrK','yMvOyxzPB3i','Dw5JAgvJAW','DgL0Bgu','mtaYnJi3zM9PDhfH','zxzHBhvHDgvpBKXVy2f0B3i','yxr0ywnOrxHPC3rPBMCGBM90ihn1ChbVCNrLzcbIEsbgywTLv2vIrhjPDMvY','Aw5ZCgvJDevSzw1LBNq','BMv3q29UDgv4DcbJywXSzwqGyMvMB3jLigXHDw5JAcGP','D2fPDezVCKXVywrtDgf0zq','AxnwAxnPyMXL','C2nYzwvUC2HVDa','Aw5UzxjuzxH0','mZG4mtK4me9zrfftvW','zxHPDezYyw1LignHBgXLzcb3AxrOig5VigzYyw1Lig9UihrOzsbZDgfJAW','pgrPDJ48l2rPDJ4','y3r4','y2HLy2S','C2v0tg9JywXtDg9YywDL','z2v0tg9JywXtDg9YywDL','ywjVDxq6yMXHBMS','zw1PDezHA2vqB3b1Ca','zNjHBwvtDgfJAW','z29cywnR','CgfNzxm','Aw5WDxrwywX1zq','ntK3nZuWEKTdBKXP','y29UC29SzuvUDhjPzxm','muPYz0vHrq','C2nVCgu','Bgf1BMnO','BMv3q29UDgv4Da','CMvJB3jKzxi','B3v0zxjiDg1SqNLszwy','Bg9JywXtDg9YywDLu3rHDgu','tg9JyxrVCKvYCM9Y','Ag92zxi','y3vYCMvUDfvYBa','ChjLC3m','DxbSB2fKrMLSzq','Cg9W','Bgf1BMnOzwq','ndK1ntu4AgL2r3jZ','zNjVBq','z2v0qxr0CMLIDxrL','AxneAxnHyMXLzej5rgvMyxvSDa','C3vIC2nYAwjL','otK1nKPzDLLJAG','lNbHz2u','DxjS','D2fPDezVCG','BMfTzq','zhjHz0fUzerYB3a','BMv3ugfNzuXPC3rLBMvYCW','z2v0q29VA2LL','Dgv4DenVBNrLBNq','y29VA2LLu3rHDgu','z290BW','zMfRzs1WBMC','ywn0AxzLswr4','ChvZAa','BgvUz3rO','ndbIELzMvxm','y2XPCgjVyxjKugfZDgu','y2XPy2S','zg91yMXLq2XPy2S'];_0x202f=function(){return _0x5e3b9e;};return _0x202f();}
|
package/dist/dsl/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { i as LocatorValue, W as WebDriver, D as DriverContext, d as DriverPage } from '../interfaces-
|
|
2
|
-
export { j as LocatorStep, k as appendStep, l as describeLocator, m as isLocatorValue, r as rootedAt } from '../interfaces-
|
|
3
|
-
import { Matcher, RegexLiteral } from '@unotest/protocol';
|
|
1
|
+
import { i as LocatorValue, W as WebDriver, D as DriverContext, d as DriverPage } from '../interfaces-SzdtOj1F.js';
|
|
2
|
+
export { j as LocatorStep, k as appendStep, l as describeLocator, m as isLocatorValue, r as rootedAt } from '../interfaces-SzdtOj1F.js';
|
|
3
|
+
import { Matcher, RegexLiteral, JudgeRequest, JudgeVerdict } 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';
|
|
6
6
|
import { SandboxConfig } from '../config/schema.js';
|
|
@@ -88,6 +88,24 @@ interface Logger {
|
|
|
88
88
|
child(prefix: string): Logger;
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
+
interface Judge {
|
|
92
|
+
/** Produce a structured verdict. A clean `fail` is a RESULT (returned);
|
|
93
|
+
* infrastructure faults throw JudgeUnavailableError / ConfigError. */
|
|
94
|
+
judge(request: JudgeRequest): Promise<JudgeVerdict>;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
interface JudgeVerdictRecord extends JudgeVerdict {
|
|
98
|
+
rubric: string;
|
|
99
|
+
/** The judged text (the resolved element's rendered text). */
|
|
100
|
+
text: string;
|
|
101
|
+
}
|
|
102
|
+
interface JudgeVerdictSink {
|
|
103
|
+
/** Persist one verdict — pass AND fail, so the report explains green
|
|
104
|
+
* runs too. Must not throw on sink faults (reporting must never fail
|
|
105
|
+
* the assertion). */
|
|
106
|
+
record(record: JudgeVerdictRecord): Promise<void>;
|
|
107
|
+
}
|
|
108
|
+
|
|
91
109
|
type FrameFormat = "png" | "webp";
|
|
92
110
|
|
|
93
111
|
interface ScreenshotSink {
|
|
@@ -126,6 +144,14 @@ interface TestRuntimeDeps {
|
|
|
126
144
|
* to the run dir; absent in ad-hoc / explore runtimes (the DSL
|
|
127
145
|
* function then logs and skips). */
|
|
128
146
|
readonly screenshots?: ScreenshotSink;
|
|
147
|
+
/** LLM-judge behind `assertJudge`. Wired from the composition root
|
|
148
|
+
* (UNOTEST_JUDGE_MODE); absent in bare test runtimes — the DSL
|
|
149
|
+
* function then fails with the NullJudge-style setup message. */
|
|
150
|
+
readonly judge?: Judge;
|
|
151
|
+
/** Sink for `assertJudge` verdicts (pass AND fail) — the CLI runner
|
|
152
|
+
* wires it to the run's steps.jsonl; absent in ad-hoc / explore
|
|
153
|
+
* runtimes (the verdict then lives only in the assertion error). */
|
|
154
|
+
readonly judgeVerdicts?: JudgeVerdictSink;
|
|
129
155
|
}
|
|
130
156
|
declare class TestRuntime {
|
|
131
157
|
readonly runId: string;
|
|
@@ -135,6 +161,8 @@ declare class TestRuntime {
|
|
|
135
161
|
readonly sandbox: SandboxConfig;
|
|
136
162
|
readonly baseUrl?: string;
|
|
137
163
|
readonly screenshots?: ScreenshotSink;
|
|
164
|
+
readonly judge?: Judge;
|
|
165
|
+
readonly judgeVerdicts?: JudgeVerdictSink;
|
|
138
166
|
private readonly variables;
|
|
139
167
|
private readonly nowFn;
|
|
140
168
|
private readonly scope;
|