@xnng/browser-relay 1.6.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/LICENSE +22 -0
- package/README.md +445 -0
- package/docs/README.zh-CN.md +421 -0
- package/docs/benchmarks/browser-gaps-codex-ax.json +418 -0
- package/docs/benchmarks/browser-gaps-relay-after.json +655 -0
- package/docs/benchmarks/browser-gaps-relay-baseline.json +679 -0
- package/docs/benchmarks/browser-readiness-cost.json +106 -0
- package/docs/benchmarks/browser-runtime-balanced-headed.json +412 -0
- package/docs/benchmarks/browser-runtime-balanced-rtt50.json +412 -0
- package/docs/benchmarks/browser-runtime-balanced.json +412 -0
- package/docs/benchmarks/browser-runtime-rtt50.json +194 -0
- package/docs/benchmarks/browser-runtime.json +254 -0
- package/docs/benchmarks/browser-use-parity.json +54 -0
- package/docs/benchmarks/codex-extension-audit.json +131 -0
- package/docs/benchmarks/codex-native-protocol.md +69 -0
- package/docs/benchmarks/codex-native-replay.js +116 -0
- package/docs/benchmarks/codex-native-status.json +81 -0
- package/docs/benchmarks/codex-native.json +1003 -0
- package/docs/benchmarks/extension-sessions.png +0 -0
- package/docs/benchmarks/extension-tasks.png +0 -0
- package/docs/benchmarks/iframe-routing-regression.json +37 -0
- package/docs/browser-use-comparison.md +331 -0
- package/docs/browser-use-gap-audit.md +141 -0
- package/docs/browser-use-parity.md +105 -0
- package/docs/demo/intranet.html +103 -0
- package/docs/releases/v1.5.0.md +59 -0
- package/docs/releases/v1.5.1.md +16 -0
- package/docs/releases/v1.5.2.md +42 -0
- package/docs/releases/v1.5.3.md +33 -0
- package/docs/releases/v1.5.4.md +42 -0
- package/docs/releases/v1.6.0.md +16 -0
- package/docs/remote-control-hub.md +523 -0
- package/extension/activity.js +328 -0
- package/extension/automation.js +1839 -0
- package/extension/background.js +1854 -0
- package/extension/i18n.js +149 -0
- package/extension/icons/icon128.png +0 -0
- package/extension/icons/icon16.png +0 -0
- package/extension/icons/icon32.png +0 -0
- package/extension/icons/icon48.png +0 -0
- package/extension/manifest.json +47 -0
- package/extension/observations.js +109 -0
- package/extension/options.html +289 -0
- package/extension/options.js +269 -0
- package/extension/popup.html +74 -0
- package/extension/popup.js +105 -0
- package/extension/protocol.js +45 -0
- package/extension/remote-auth.js +18 -0
- package/extension/sessions.js +134 -0
- package/extension/snapshot.js +161 -0
- package/extension/task-groups.js +108 -0
- package/extension/tasks.js +186 -0
- package/extension/wait.js +89 -0
- package/hub/README.md +42 -0
- package/hub/package-lock.json +1544 -0
- package/hub/package.json +13 -0
- package/hub/src/rpc.js +41 -0
- package/hub/src/worker.js +322 -0
- package/hub/wrangler.example.toml +19 -0
- package/package.json +83 -0
- package/server/cdp-bridge.js +200 -0
- package/server/cli.js +1798 -0
- package/server/hub-server.js +258 -0
- package/server/install.js +250 -0
- package/server/mcp-server.js +504 -0
- package/server/npx-runner.js +96 -0
- package/server/relay-server.js +1356 -0
- package/server/remote-protocol.js +76 -0
- package/server/runtime-worker.js +166 -0
- package/server/script-runtime.js +189 -0
- package/server/sdk.js +307 -0
- package/server/service-state.js +103 -0
- package/server/snapshot.js +161 -0
- package/server/uninstall.js +61 -0
- package/server/windows-service-entry.js +58 -0
- package/server/windows-service.js +360 -0
- package/skills/browser-relay/SKILL.md +192 -0
- package/skills/browser-relay/references/legacy-api.md +163 -0
- package/skills/browser-relay/references/runtime.md +240 -0
|
@@ -0,0 +1,1003 @@
|
|
|
1
|
+
{
|
|
2
|
+
"measuredAt": "2026-09-09T05:51:09.202Z",
|
|
3
|
+
"backend": "Codex native Chrome extension through mcp__cua_repl",
|
|
4
|
+
"viewport": {
|
|
5
|
+
"height": 925,
|
|
6
|
+
"width": 1466
|
|
7
|
+
},
|
|
8
|
+
"browserVersion": null,
|
|
9
|
+
"browserVersionReason": "chrome://version was blocked by Browser Use URL policy; no workaround attempted",
|
|
10
|
+
"headless": false,
|
|
11
|
+
"scope": "Deterministic replay of a discovered same-page task; inner browser API and script timings exclude model inference and outer tool dispatch; not a blinded model evaluation",
|
|
12
|
+
"outerInvocations": [
|
|
13
|
+
{
|
|
14
|
+
"id": "pair-0",
|
|
15
|
+
"wallMs": 4765.2
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"id": "pair-1",
|
|
19
|
+
"wallMs": 5000.4
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"id": "pair-2",
|
|
23
|
+
"wallMs": 4022.2
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"id": "pair-3",
|
|
27
|
+
"wallMs": 3756.3
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": "pair-4",
|
|
31
|
+
"wallMs": 4012.9
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"id": "pw-0",
|
|
35
|
+
"wallMs": 9872.3
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"id": "pw-remaining",
|
|
39
|
+
"wallMs": 8041.9
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"outerTimingScope": "Each outer invocation includes reload/setup and sometimes multiple trials; it is NOT a single-task latency sample. Raw timing from CUA tool result.",
|
|
43
|
+
"discovery": {
|
|
44
|
+
"single": {
|
|
45
|
+
"success": true,
|
|
46
|
+
"toolApiMs": 1190,
|
|
47
|
+
"sessionElapsedMs": 29552,
|
|
48
|
+
"jsCalls": 5,
|
|
49
|
+
"apiCalls": 9,
|
|
50
|
+
"observations": 5,
|
|
51
|
+
"operationTimesMs": [
|
|
52
|
+
163,
|
|
53
|
+
29,
|
|
54
|
+
177,
|
|
55
|
+
19,
|
|
56
|
+
172,
|
|
57
|
+
12,
|
|
58
|
+
163,
|
|
59
|
+
285,
|
|
60
|
+
170
|
|
61
|
+
]
|
|
62
|
+
},
|
|
63
|
+
"batch": {
|
|
64
|
+
"success": true,
|
|
65
|
+
"toolApiMsRecovered": 390,
|
|
66
|
+
"sessionElapsedMs": 11990,
|
|
67
|
+
"jsCalls": 2,
|
|
68
|
+
"operationTimesMsRecovered": [
|
|
69
|
+
169,
|
|
70
|
+
28,
|
|
71
|
+
5,
|
|
72
|
+
6,
|
|
73
|
+
17,
|
|
74
|
+
165
|
|
75
|
+
]
|
|
76
|
+
},
|
|
77
|
+
"excludedFromSummary": true,
|
|
78
|
+
"note": "Initial batch logging reported zero because a cross-REPL variable rebind did not update a closure capture. Recovered operation times from the cumulative trace; then changed instrumentation to mutate a stable object. Both interactive discovery runs excluded from replay summaries."
|
|
79
|
+
},
|
|
80
|
+
"summary": {
|
|
81
|
+
"ax-single": {
|
|
82
|
+
"runs": 5,
|
|
83
|
+
"successes": 5,
|
|
84
|
+
"scriptElapsedMs": 902,
|
|
85
|
+
"toolApiMs": 902,
|
|
86
|
+
"stateBytes": 3287,
|
|
87
|
+
"apiCalls": 9,
|
|
88
|
+
"observations": 5
|
|
89
|
+
},
|
|
90
|
+
"ax-batch": {
|
|
91
|
+
"runs": 5,
|
|
92
|
+
"successes": 5,
|
|
93
|
+
"scriptElapsedMs": 436,
|
|
94
|
+
"toolApiMs": 436,
|
|
95
|
+
"stateBytes": 3178,
|
|
96
|
+
"apiCalls": 6,
|
|
97
|
+
"observations": 2
|
|
98
|
+
},
|
|
99
|
+
"native-playwright": {
|
|
100
|
+
"runs": 5,
|
|
101
|
+
"successes": 5,
|
|
102
|
+
"scriptElapsedMs": 788,
|
|
103
|
+
"toolApiMs": 788,
|
|
104
|
+
"stateBytes": 1706,
|
|
105
|
+
"apiCalls": 7,
|
|
106
|
+
"observations": 2
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
"stateDictionary": [
|
|
110
|
+
"Browser tab: 395359752, Title: \"Browser Relay benchmark\", URL: \"http://127.0.0.1:61427/\".\n1 AXWebArea Browser Relay benchmark, URL: 127.0.0.1:61427/\n\t2 heading Browser Relay benchmark, Value: 1\n\t\t3 text Browser Relay benchmark\n\t4 container form\n\t\t5 container\n\t\t\t6 text Search \n\t\t\t7 text field (settable) Search \n\t\t8 container\n\t\t\t9 text Owner \n\t\t\t10 pop up button (collapsed, settable) Owner , Value: All, Secondary Actions: Expand\n\t\t\t\t11 menu\n\t\t\t\t\t12 (selected) All\n\t\t\t\t\t13 Alice\n\t\t14 checkbox (settable, integer) Description: Active only, Value: 0\n\t\t15 button Search records\n\t16 text Ready\n\t17 button Add row, ID: add\n\t18 content list rows\n\t\t19 container\n\t\t\t20 AXListMarker • \n\t\t\t21 text Initial row\n\t22 container Draft\n\t\t23 text Draft\n\t\t24 button Save\n\t25 container Published\n\t\t26 text Published\n\t\t27 button Save\n\t28 container\n\t\t29 text Password \n\t\t30 text field (settable) Password \n\t31 button Shadow action\n\t32 container Same origin frame\n\t\t33 AXWebArea Frame, URL: 127.0.0.1:61427/frame\n\t\t\t34 button Frame action\n\t35 container Description: Cross origin frame, ID: cross\n\t\t36 AXWebArea Frame, URL: localhost:61427/frame?cross=1\n\t\t\t37 button Cross frame\n\t38 image Description: Drawing surface, ID: canvas\n\t39 text Canvas untouched\n\t40 container Description: Drag handle, ID: drag\n\t41 text Not dragged\n\t42 container Description: Scrollable panel, ID: scrollbox\n\t\t43 text Panel start\n\t\t44 button Panel end\n\t45 button Show delayed, ID: delayed\n\t46 button (disabled) Disabled action, ID: disabled\n\nThe focused UI element is 1 AXWebArea Browser Relay benchmark, URL: 127.0.0.1:61427/",
|
|
111
|
+
"Browser tab: 395359752, Title: \"Browser Relay benchmark\", URL: \"http://127.0.0.1:61427/\".\nThe following is a diff from the previous accessibility tree with ~ and + representing changed and added elements, respectively. Removed elements are summarized by ID range.\n~\t\t\t7 text field (settable) Search , Value: invoice\nThe focused UI element is 7 text field (settable) Search , Value: invoice",
|
|
112
|
+
"Browser tab: 395359752, Title: \"Browser Relay benchmark\", URL: \"http://127.0.0.1:61427/\".\nThe following is a diff from the previous accessibility tree with ~ and + representing changed and added elements, respectively. Removed elements are summarized by ID range.\n~\t\t\t10 pop up button (collapsed, settable) Owner , Value: Alice, Secondary Actions: Expand\n~\t\t\t\t\t12 All\n~\t\t\t\t\t13 (selected) Alice\nThe focused UI element is 10 pop up button (collapsed, settable) Owner , Value: Alice, Secondary Actions: Expand",
|
|
113
|
+
"Browser tab: 395359752, Title: \"Browser Relay benchmark\", URL: \"http://127.0.0.1:61427/\".\nThe following is a diff from the previous accessibility tree with ~ and + representing changed and added elements, respectively. Removed elements are summarized by ID range.\n~\t\t14 checkbox (settable, integer) Description: Active only, Value: 1\nThe focused UI element is 14 checkbox (settable, integer) Description: Active only, Value: 1",
|
|
114
|
+
"Browser tab: 395359752, Title: \"Browser Relay benchmark\", URL: \"http://127.0.0.1:61427/\".\nThe following is a diff from the previous accessibility tree with ~ and + representing changed and added elements, respectively. Removed elements are summarized by ID range.\nRemoved element IDs: 16\n+\t47 text Found: invoice / alice / active\nThe focused UI element is 15 button Search records",
|
|
115
|
+
"Browser tab: 395359752, Title: \"Browser Relay benchmark\", URL: \"http://127.0.0.1:61427/\".\n1 AXWebArea Browser Relay benchmark, URL: 127.0.0.1:61427/\n\t2 heading Browser Relay benchmark, Value: 1\n\t\t3 text Browser Relay benchmark\n\t4 container form\n\t\t5 container\n\t\t\t6 text Search \n\t\t\t7 text field (settable) Search , Value: invoice\n\t\t8 container\n\t\t\t9 text Owner \n\t\t\t10 pop up button (collapsed, settable) Owner , Value: Alice, Secondary Actions: Expand\n\t\t\t\t11 menu\n\t\t\t\t\t12 All\n\t\t\t\t\t13 (selected) Alice\n\t\t14 checkbox (settable, integer) Description: Active only, Value: 1\n\t\t15 button Search records\n\t47 text Found: invoice / alice / active\n\t17 button Add row, ID: add\n\t18 content list rows\n\t\t19 container\n\t\t\t20 AXListMarker • \n\t\t\t21 text Initial row\n\t22 container Draft\n\t\t23 text Draft\n\t\t24 button Save\n\t25 container Published\n\t\t26 text Published\n\t\t27 button Save\n\t28 container\n\t\t29 text Password \n\t\t30 text field (settable) Password \n\t31 button Shadow action\n\t32 container Same origin frame\n\t\t33 AXWebArea Frame, URL: 127.0.0.1:61427/frame\n\t\t\t34 button Frame action\n\t35 container Description: Cross origin frame, ID: cross\n\t\t36 AXWebArea Frame, URL: localhost:61427/frame?cross=1\n\t\t\t37 button Cross frame\n\t38 image Description: Drawing surface, ID: canvas\n\t39 text Canvas untouched\n\t40 container Description: Drag handle, ID: drag\n\t41 text Not dragged\n\t42 container Description: Scrollable panel, ID: scrollbox\n\t\t43 text Panel start\n\t\t44 button Panel end\n\t45 button Show delayed, ID: delayed\n\t46 button (disabled) Disabled action, ID: disabled\n\nThe focused UI element is 15 button Search records",
|
|
116
|
+
"- heading \"Browser Relay benchmark\" [level=1]\n- text: Search\n- textbox \"Search\"\n- text: Owner\n- combobox \"Owner\":\n - option \"All\" [selected]\n - option \"Alice\"\n- checkbox \"Active only\"\n- text: Active only\n- button \"Search records\"\n- status: Ready\n- button \"Add row\"\n- list:\n - listitem: Initial row\n- group \"Draft\":\n - generic: Draft\n - button \"Save\"\n- group \"Published\":\n - generic: Published\n - button \"Save\"\n- text: Password\n- textbox \"Password\"\n- button \"Shadow action\"\n- iframe:\n - button \"Frame action\"\n- iframe [id=\"cross\"]:\n - button \"Cross frame\"\n- paragraph:\n - generic \"Drawing surface\"\n- paragraph: Canvas untouched\n- generic \"Drag handle\"\n- paragraph: Not dragged\n- generic \"Scrollable panel\":\n - generic: Panel start\n - button \"Panel end\"\n- button \"Show delayed\"\n- button \"Disabled action\" [disabled]",
|
|
117
|
+
"- heading \"Browser Relay benchmark\" [level=1]\n- text: Search\n- textbox \"Search\": invoice\n- text: Owner\n- combobox \"Owner\":\n - option \"All\"\n - option \"Alice\" [selected]\n- checkbox \"Active only\" [checked]\n- text: Active only\n- button \"Search records\" [active]\n- status: \"Found: invoice / alice / active\"\n- button \"Add row\"\n- list:\n - listitem: Initial row\n- group \"Draft\":\n - generic: Draft\n - button \"Save\"\n- group \"Published\":\n - generic: Published\n - button \"Save\"\n- text: Password\n- textbox \"Password\"\n- button \"Shadow action\"\n- iframe:\n - button \"Frame action\"\n- iframe [id=\"cross\"]:\n - button \"Cross frame\"\n- paragraph:\n - generic \"Drawing surface\"\n- paragraph: Canvas untouched\n- generic \"Drag handle\"\n- paragraph: Not dragged\n- generic \"Scrollable panel\":\n - generic: Panel start\n - button \"Panel end\"\n- button \"Show delayed\"\n- button \"Disabled action\" [disabled]"
|
|
118
|
+
],
|
|
119
|
+
"samples": [
|
|
120
|
+
{
|
|
121
|
+
"variant": "ax-single",
|
|
122
|
+
"iteration": 0,
|
|
123
|
+
"invocation": "pair-0",
|
|
124
|
+
"phase": "deterministic-replay",
|
|
125
|
+
"success": true,
|
|
126
|
+
"scriptElapsedMs": 910,
|
|
127
|
+
"toolApiMs": 910,
|
|
128
|
+
"stateBytes": 3287,
|
|
129
|
+
"apiCalls": 9,
|
|
130
|
+
"observations": 5,
|
|
131
|
+
"steps": [
|
|
132
|
+
{
|
|
133
|
+
"operation": "getAXState",
|
|
134
|
+
"elapsedMs": 160,
|
|
135
|
+
"success": true,
|
|
136
|
+
"stateId": 0,
|
|
137
|
+
"stateBytes": 1584
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"operation": "setValue(Search)",
|
|
141
|
+
"elapsedMs": 19,
|
|
142
|
+
"success": true
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"operation": "getAXState",
|
|
146
|
+
"elapsedMs": 172,
|
|
147
|
+
"success": true,
|
|
148
|
+
"stateId": 1,
|
|
149
|
+
"stateBytes": 389
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"operation": "setValue(Owner)",
|
|
153
|
+
"elapsedMs": 23,
|
|
154
|
+
"success": true
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"operation": "getAXState",
|
|
158
|
+
"elapsedMs": 183,
|
|
159
|
+
"success": true,
|
|
160
|
+
"stateId": 2,
|
|
161
|
+
"stateBytes": 506
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"operation": "setValue(Active)",
|
|
165
|
+
"elapsedMs": 5,
|
|
166
|
+
"success": true
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"operation": "getAXState",
|
|
170
|
+
"elapsedMs": 164,
|
|
171
|
+
"success": true,
|
|
172
|
+
"stateId": 3,
|
|
173
|
+
"stateBytes": 428
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"operation": "click(Search records)",
|
|
177
|
+
"elapsedMs": 13,
|
|
178
|
+
"success": true
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"operation": "getAXState",
|
|
182
|
+
"elapsedMs": 171,
|
|
183
|
+
"success": true,
|
|
184
|
+
"stateId": 4,
|
|
185
|
+
"stateBytes": 380
|
|
186
|
+
}
|
|
187
|
+
]
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"variant": "ax-batch",
|
|
191
|
+
"iteration": 0,
|
|
192
|
+
"invocation": "pair-0",
|
|
193
|
+
"phase": "deterministic-replay",
|
|
194
|
+
"success": true,
|
|
195
|
+
"scriptElapsedMs": 413,
|
|
196
|
+
"toolApiMs": 413,
|
|
197
|
+
"stateBytes": 3178,
|
|
198
|
+
"apiCalls": 6,
|
|
199
|
+
"observations": 2,
|
|
200
|
+
"steps": [
|
|
201
|
+
{
|
|
202
|
+
"operation": "getAXState",
|
|
203
|
+
"elapsedMs": 166,
|
|
204
|
+
"success": true,
|
|
205
|
+
"stateId": 0,
|
|
206
|
+
"stateBytes": 1584
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"operation": "setValue(Search)",
|
|
210
|
+
"elapsedMs": 15,
|
|
211
|
+
"success": true
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"operation": "setValue(Owner)",
|
|
215
|
+
"elapsedMs": 6,
|
|
216
|
+
"success": true
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"operation": "setValue(Active)",
|
|
220
|
+
"elapsedMs": 26,
|
|
221
|
+
"success": true
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"operation": "click(Search records)",
|
|
225
|
+
"elapsedMs": 33,
|
|
226
|
+
"success": true
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
"operation": "getAXState",
|
|
230
|
+
"elapsedMs": 167,
|
|
231
|
+
"success": true,
|
|
232
|
+
"stateId": 5,
|
|
233
|
+
"stateBytes": 1594
|
|
234
|
+
}
|
|
235
|
+
]
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
"variant": "ax-batch",
|
|
239
|
+
"iteration": 1,
|
|
240
|
+
"invocation": "pair-1",
|
|
241
|
+
"phase": "deterministic-replay",
|
|
242
|
+
"success": true,
|
|
243
|
+
"scriptElapsedMs": 443,
|
|
244
|
+
"toolApiMs": 443,
|
|
245
|
+
"stateBytes": 3178,
|
|
246
|
+
"apiCalls": 6,
|
|
247
|
+
"observations": 2,
|
|
248
|
+
"steps": [
|
|
249
|
+
{
|
|
250
|
+
"operation": "getAXState",
|
|
251
|
+
"elapsedMs": 181,
|
|
252
|
+
"success": true,
|
|
253
|
+
"stateId": 0,
|
|
254
|
+
"stateBytes": 1584
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"operation": "setValue(Search)",
|
|
258
|
+
"elapsedMs": 29,
|
|
259
|
+
"success": true
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
"operation": "setValue(Owner)",
|
|
263
|
+
"elapsedMs": 12,
|
|
264
|
+
"success": true
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"operation": "setValue(Active)",
|
|
268
|
+
"elapsedMs": 7,
|
|
269
|
+
"success": true
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"operation": "click(Search records)",
|
|
273
|
+
"elapsedMs": 40,
|
|
274
|
+
"success": true
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
"operation": "getAXState",
|
|
278
|
+
"elapsedMs": 174,
|
|
279
|
+
"success": true,
|
|
280
|
+
"stateId": 5,
|
|
281
|
+
"stateBytes": 1594
|
|
282
|
+
}
|
|
283
|
+
]
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
"variant": "ax-single",
|
|
287
|
+
"iteration": 1,
|
|
288
|
+
"invocation": "pair-1",
|
|
289
|
+
"phase": "deterministic-replay",
|
|
290
|
+
"success": true,
|
|
291
|
+
"scriptElapsedMs": 902,
|
|
292
|
+
"toolApiMs": 902,
|
|
293
|
+
"stateBytes": 3287,
|
|
294
|
+
"apiCalls": 9,
|
|
295
|
+
"observations": 5,
|
|
296
|
+
"steps": [
|
|
297
|
+
{
|
|
298
|
+
"operation": "getAXState",
|
|
299
|
+
"elapsedMs": 165,
|
|
300
|
+
"success": true,
|
|
301
|
+
"stateId": 0,
|
|
302
|
+
"stateBytes": 1584
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
"operation": "setValue(Search)",
|
|
306
|
+
"elapsedMs": 25,
|
|
307
|
+
"success": true
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
"operation": "getAXState",
|
|
311
|
+
"elapsedMs": 200,
|
|
312
|
+
"success": true,
|
|
313
|
+
"stateId": 1,
|
|
314
|
+
"stateBytes": 389
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
"operation": "setValue(Owner)",
|
|
318
|
+
"elapsedMs": 8,
|
|
319
|
+
"success": true
|
|
320
|
+
},
|
|
321
|
+
{
|
|
322
|
+
"operation": "getAXState",
|
|
323
|
+
"elapsedMs": 157,
|
|
324
|
+
"success": true,
|
|
325
|
+
"stateId": 2,
|
|
326
|
+
"stateBytes": 506
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
"operation": "setValue(Active)",
|
|
330
|
+
"elapsedMs": 7,
|
|
331
|
+
"success": true
|
|
332
|
+
},
|
|
333
|
+
{
|
|
334
|
+
"operation": "getAXState",
|
|
335
|
+
"elapsedMs": 160,
|
|
336
|
+
"success": true,
|
|
337
|
+
"stateId": 3,
|
|
338
|
+
"stateBytes": 428
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
"operation": "click(Search records)",
|
|
342
|
+
"elapsedMs": 12,
|
|
343
|
+
"success": true
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
"operation": "getAXState",
|
|
347
|
+
"elapsedMs": 168,
|
|
348
|
+
"success": true,
|
|
349
|
+
"stateId": 4,
|
|
350
|
+
"stateBytes": 380
|
|
351
|
+
}
|
|
352
|
+
]
|
|
353
|
+
},
|
|
354
|
+
{
|
|
355
|
+
"variant": "ax-single",
|
|
356
|
+
"iteration": 2,
|
|
357
|
+
"invocation": "pair-2",
|
|
358
|
+
"phase": "deterministic-replay",
|
|
359
|
+
"success": true,
|
|
360
|
+
"scriptElapsedMs": 915,
|
|
361
|
+
"toolApiMs": 915,
|
|
362
|
+
"stateBytes": 3287,
|
|
363
|
+
"apiCalls": 9,
|
|
364
|
+
"observations": 5,
|
|
365
|
+
"steps": [
|
|
366
|
+
{
|
|
367
|
+
"operation": "getAXState",
|
|
368
|
+
"elapsedMs": 172,
|
|
369
|
+
"success": true,
|
|
370
|
+
"stateId": 0,
|
|
371
|
+
"stateBytes": 1584
|
|
372
|
+
},
|
|
373
|
+
{
|
|
374
|
+
"operation": "setValue(Search)",
|
|
375
|
+
"elapsedMs": 29,
|
|
376
|
+
"success": true
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
"operation": "getAXState",
|
|
380
|
+
"elapsedMs": 171,
|
|
381
|
+
"success": true,
|
|
382
|
+
"stateId": 1,
|
|
383
|
+
"stateBytes": 389
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
"operation": "setValue(Owner)",
|
|
387
|
+
"elapsedMs": 15,
|
|
388
|
+
"success": true
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
"operation": "getAXState",
|
|
392
|
+
"elapsedMs": 163,
|
|
393
|
+
"success": true,
|
|
394
|
+
"stateId": 2,
|
|
395
|
+
"stateBytes": 506
|
|
396
|
+
},
|
|
397
|
+
{
|
|
398
|
+
"operation": "setValue(Active)",
|
|
399
|
+
"elapsedMs": 6,
|
|
400
|
+
"success": true
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
"operation": "getAXState",
|
|
404
|
+
"elapsedMs": 163,
|
|
405
|
+
"success": true,
|
|
406
|
+
"stateId": 3,
|
|
407
|
+
"stateBytes": 428
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
"operation": "click(Search records)",
|
|
411
|
+
"elapsedMs": 20,
|
|
412
|
+
"success": true
|
|
413
|
+
},
|
|
414
|
+
{
|
|
415
|
+
"operation": "getAXState",
|
|
416
|
+
"elapsedMs": 176,
|
|
417
|
+
"success": true,
|
|
418
|
+
"stateId": 4,
|
|
419
|
+
"stateBytes": 380
|
|
420
|
+
}
|
|
421
|
+
]
|
|
422
|
+
},
|
|
423
|
+
{
|
|
424
|
+
"variant": "ax-batch",
|
|
425
|
+
"iteration": 2,
|
|
426
|
+
"invocation": "pair-2",
|
|
427
|
+
"phase": "deterministic-replay",
|
|
428
|
+
"success": true,
|
|
429
|
+
"scriptElapsedMs": 411,
|
|
430
|
+
"toolApiMs": 411,
|
|
431
|
+
"stateBytes": 3178,
|
|
432
|
+
"apiCalls": 6,
|
|
433
|
+
"observations": 2,
|
|
434
|
+
"steps": [
|
|
435
|
+
{
|
|
436
|
+
"operation": "getAXState",
|
|
437
|
+
"elapsedMs": 163,
|
|
438
|
+
"success": true,
|
|
439
|
+
"stateId": 0,
|
|
440
|
+
"stateBytes": 1584
|
|
441
|
+
},
|
|
442
|
+
{
|
|
443
|
+
"operation": "setValue(Search)",
|
|
444
|
+
"elapsedMs": 23,
|
|
445
|
+
"success": true
|
|
446
|
+
},
|
|
447
|
+
{
|
|
448
|
+
"operation": "setValue(Owner)",
|
|
449
|
+
"elapsedMs": 16,
|
|
450
|
+
"success": true
|
|
451
|
+
},
|
|
452
|
+
{
|
|
453
|
+
"operation": "setValue(Active)",
|
|
454
|
+
"elapsedMs": 15,
|
|
455
|
+
"success": true
|
|
456
|
+
},
|
|
457
|
+
{
|
|
458
|
+
"operation": "click(Search records)",
|
|
459
|
+
"elapsedMs": 22,
|
|
460
|
+
"success": true
|
|
461
|
+
},
|
|
462
|
+
{
|
|
463
|
+
"operation": "getAXState",
|
|
464
|
+
"elapsedMs": 172,
|
|
465
|
+
"success": true,
|
|
466
|
+
"stateId": 5,
|
|
467
|
+
"stateBytes": 1594
|
|
468
|
+
}
|
|
469
|
+
]
|
|
470
|
+
},
|
|
471
|
+
{
|
|
472
|
+
"variant": "ax-batch",
|
|
473
|
+
"iteration": 3,
|
|
474
|
+
"invocation": "pair-3",
|
|
475
|
+
"phase": "deterministic-replay",
|
|
476
|
+
"success": true,
|
|
477
|
+
"scriptElapsedMs": 441,
|
|
478
|
+
"toolApiMs": 441,
|
|
479
|
+
"stateBytes": 3178,
|
|
480
|
+
"apiCalls": 6,
|
|
481
|
+
"observations": 2,
|
|
482
|
+
"steps": [
|
|
483
|
+
{
|
|
484
|
+
"operation": "getAXState",
|
|
485
|
+
"elapsedMs": 175,
|
|
486
|
+
"success": true,
|
|
487
|
+
"stateId": 0,
|
|
488
|
+
"stateBytes": 1584
|
|
489
|
+
},
|
|
490
|
+
{
|
|
491
|
+
"operation": "setValue(Search)",
|
|
492
|
+
"elapsedMs": 27,
|
|
493
|
+
"success": true
|
|
494
|
+
},
|
|
495
|
+
{
|
|
496
|
+
"operation": "setValue(Owner)",
|
|
497
|
+
"elapsedMs": 14,
|
|
498
|
+
"success": true
|
|
499
|
+
},
|
|
500
|
+
{
|
|
501
|
+
"operation": "setValue(Active)",
|
|
502
|
+
"elapsedMs": 7,
|
|
503
|
+
"success": true
|
|
504
|
+
},
|
|
505
|
+
{
|
|
506
|
+
"operation": "click(Search records)",
|
|
507
|
+
"elapsedMs": 46,
|
|
508
|
+
"success": true
|
|
509
|
+
},
|
|
510
|
+
{
|
|
511
|
+
"operation": "getAXState",
|
|
512
|
+
"elapsedMs": 172,
|
|
513
|
+
"success": true,
|
|
514
|
+
"stateId": 5,
|
|
515
|
+
"stateBytes": 1594
|
|
516
|
+
}
|
|
517
|
+
]
|
|
518
|
+
},
|
|
519
|
+
{
|
|
520
|
+
"variant": "ax-single",
|
|
521
|
+
"iteration": 3,
|
|
522
|
+
"invocation": "pair-3",
|
|
523
|
+
"phase": "deterministic-replay",
|
|
524
|
+
"success": true,
|
|
525
|
+
"scriptElapsedMs": 900,
|
|
526
|
+
"toolApiMs": 899,
|
|
527
|
+
"stateBytes": 3287,
|
|
528
|
+
"apiCalls": 9,
|
|
529
|
+
"observations": 5,
|
|
530
|
+
"steps": [
|
|
531
|
+
{
|
|
532
|
+
"operation": "getAXState",
|
|
533
|
+
"elapsedMs": 166,
|
|
534
|
+
"success": true,
|
|
535
|
+
"stateId": 0,
|
|
536
|
+
"stateBytes": 1584
|
|
537
|
+
},
|
|
538
|
+
{
|
|
539
|
+
"operation": "setValue(Search)",
|
|
540
|
+
"elapsedMs": 24,
|
|
541
|
+
"success": true
|
|
542
|
+
},
|
|
543
|
+
{
|
|
544
|
+
"operation": "getAXState",
|
|
545
|
+
"elapsedMs": 166,
|
|
546
|
+
"success": true,
|
|
547
|
+
"stateId": 1,
|
|
548
|
+
"stateBytes": 389
|
|
549
|
+
},
|
|
550
|
+
{
|
|
551
|
+
"operation": "setValue(Owner)",
|
|
552
|
+
"elapsedMs": 29,
|
|
553
|
+
"success": true
|
|
554
|
+
},
|
|
555
|
+
{
|
|
556
|
+
"operation": "getAXState",
|
|
557
|
+
"elapsedMs": 164,
|
|
558
|
+
"success": true,
|
|
559
|
+
"stateId": 2,
|
|
560
|
+
"stateBytes": 506
|
|
561
|
+
},
|
|
562
|
+
{
|
|
563
|
+
"operation": "setValue(Active)",
|
|
564
|
+
"elapsedMs": 8,
|
|
565
|
+
"success": true
|
|
566
|
+
},
|
|
567
|
+
{
|
|
568
|
+
"operation": "getAXState",
|
|
569
|
+
"elapsedMs": 162,
|
|
570
|
+
"success": true,
|
|
571
|
+
"stateId": 3,
|
|
572
|
+
"stateBytes": 428
|
|
573
|
+
},
|
|
574
|
+
{
|
|
575
|
+
"operation": "click(Search records)",
|
|
576
|
+
"elapsedMs": 14,
|
|
577
|
+
"success": true
|
|
578
|
+
},
|
|
579
|
+
{
|
|
580
|
+
"operation": "getAXState",
|
|
581
|
+
"elapsedMs": 166,
|
|
582
|
+
"success": true,
|
|
583
|
+
"stateId": 4,
|
|
584
|
+
"stateBytes": 380
|
|
585
|
+
}
|
|
586
|
+
]
|
|
587
|
+
},
|
|
588
|
+
{
|
|
589
|
+
"variant": "ax-single",
|
|
590
|
+
"iteration": 4,
|
|
591
|
+
"invocation": "pair-4",
|
|
592
|
+
"phase": "deterministic-replay",
|
|
593
|
+
"success": true,
|
|
594
|
+
"scriptElapsedMs": 860,
|
|
595
|
+
"toolApiMs": 860,
|
|
596
|
+
"stateBytes": 3287,
|
|
597
|
+
"apiCalls": 9,
|
|
598
|
+
"observations": 5,
|
|
599
|
+
"steps": [
|
|
600
|
+
{
|
|
601
|
+
"operation": "getAXState",
|
|
602
|
+
"elapsedMs": 167,
|
|
603
|
+
"success": true,
|
|
604
|
+
"stateId": 0,
|
|
605
|
+
"stateBytes": 1584
|
|
606
|
+
},
|
|
607
|
+
{
|
|
608
|
+
"operation": "setValue(Search)",
|
|
609
|
+
"elapsedMs": 20,
|
|
610
|
+
"success": true
|
|
611
|
+
},
|
|
612
|
+
{
|
|
613
|
+
"operation": "getAXState",
|
|
614
|
+
"elapsedMs": 163,
|
|
615
|
+
"success": true,
|
|
616
|
+
"stateId": 1,
|
|
617
|
+
"stateBytes": 389
|
|
618
|
+
},
|
|
619
|
+
{
|
|
620
|
+
"operation": "setValue(Owner)",
|
|
621
|
+
"elapsedMs": 7,
|
|
622
|
+
"success": true
|
|
623
|
+
},
|
|
624
|
+
{
|
|
625
|
+
"operation": "getAXState",
|
|
626
|
+
"elapsedMs": 160,
|
|
627
|
+
"success": true,
|
|
628
|
+
"stateId": 2,
|
|
629
|
+
"stateBytes": 506
|
|
630
|
+
},
|
|
631
|
+
{
|
|
632
|
+
"operation": "setValue(Active)",
|
|
633
|
+
"elapsedMs": 5,
|
|
634
|
+
"success": true
|
|
635
|
+
},
|
|
636
|
+
{
|
|
637
|
+
"operation": "getAXState",
|
|
638
|
+
"elapsedMs": 161,
|
|
639
|
+
"success": true,
|
|
640
|
+
"stateId": 3,
|
|
641
|
+
"stateBytes": 428
|
|
642
|
+
},
|
|
643
|
+
{
|
|
644
|
+
"operation": "click(Search records)",
|
|
645
|
+
"elapsedMs": 13,
|
|
646
|
+
"success": true
|
|
647
|
+
},
|
|
648
|
+
{
|
|
649
|
+
"operation": "getAXState",
|
|
650
|
+
"elapsedMs": 164,
|
|
651
|
+
"success": true,
|
|
652
|
+
"stateId": 4,
|
|
653
|
+
"stateBytes": 380
|
|
654
|
+
}
|
|
655
|
+
]
|
|
656
|
+
},
|
|
657
|
+
{
|
|
658
|
+
"variant": "ax-batch",
|
|
659
|
+
"iteration": 4,
|
|
660
|
+
"invocation": "pair-4",
|
|
661
|
+
"phase": "deterministic-replay",
|
|
662
|
+
"success": true,
|
|
663
|
+
"scriptElapsedMs": 436,
|
|
664
|
+
"toolApiMs": 436,
|
|
665
|
+
"stateBytes": 3178,
|
|
666
|
+
"apiCalls": 6,
|
|
667
|
+
"observations": 2,
|
|
668
|
+
"steps": [
|
|
669
|
+
{
|
|
670
|
+
"operation": "getAXState",
|
|
671
|
+
"elapsedMs": 162,
|
|
672
|
+
"success": true,
|
|
673
|
+
"stateId": 0,
|
|
674
|
+
"stateBytes": 1584
|
|
675
|
+
},
|
|
676
|
+
{
|
|
677
|
+
"operation": "setValue(Search)",
|
|
678
|
+
"elapsedMs": 27,
|
|
679
|
+
"success": true
|
|
680
|
+
},
|
|
681
|
+
{
|
|
682
|
+
"operation": "setValue(Owner)",
|
|
683
|
+
"elapsedMs": 18,
|
|
684
|
+
"success": true
|
|
685
|
+
},
|
|
686
|
+
{
|
|
687
|
+
"operation": "setValue(Active)",
|
|
688
|
+
"elapsedMs": 16,
|
|
689
|
+
"success": true
|
|
690
|
+
},
|
|
691
|
+
{
|
|
692
|
+
"operation": "click(Search records)",
|
|
693
|
+
"elapsedMs": 35,
|
|
694
|
+
"success": true
|
|
695
|
+
},
|
|
696
|
+
{
|
|
697
|
+
"operation": "getAXState",
|
|
698
|
+
"elapsedMs": 178,
|
|
699
|
+
"success": true,
|
|
700
|
+
"stateId": 5,
|
|
701
|
+
"stateBytes": 1594
|
|
702
|
+
}
|
|
703
|
+
]
|
|
704
|
+
},
|
|
705
|
+
{
|
|
706
|
+
"variant": "native-playwright",
|
|
707
|
+
"iteration": 0,
|
|
708
|
+
"invocation": "pw-0",
|
|
709
|
+
"phase": "deterministic-replay",
|
|
710
|
+
"success": true,
|
|
711
|
+
"scriptElapsedMs": 816,
|
|
712
|
+
"toolApiMs": 816,
|
|
713
|
+
"stateBytes": 1706,
|
|
714
|
+
"apiCalls": 7,
|
|
715
|
+
"observations": 2,
|
|
716
|
+
"steps": [
|
|
717
|
+
{
|
|
718
|
+
"operation": "domSnapshot",
|
|
719
|
+
"elapsedMs": 94,
|
|
720
|
+
"success": true,
|
|
721
|
+
"stateId": 6,
|
|
722
|
+
"stateBytes": 825
|
|
723
|
+
},
|
|
724
|
+
{
|
|
725
|
+
"operation": "fill(Search)",
|
|
726
|
+
"elapsedMs": 35,
|
|
727
|
+
"success": true
|
|
728
|
+
},
|
|
729
|
+
{
|
|
730
|
+
"operation": "selectOption(Owner)",
|
|
731
|
+
"elapsedMs": 15,
|
|
732
|
+
"success": true
|
|
733
|
+
},
|
|
734
|
+
{
|
|
735
|
+
"operation": "check(Active)",
|
|
736
|
+
"elapsedMs": 280,
|
|
737
|
+
"success": true
|
|
738
|
+
},
|
|
739
|
+
{
|
|
740
|
+
"operation": "click(Search records)",
|
|
741
|
+
"elapsedMs": 272,
|
|
742
|
+
"success": true
|
|
743
|
+
},
|
|
744
|
+
{
|
|
745
|
+
"operation": "waitFor(result)",
|
|
746
|
+
"elapsedMs": 110,
|
|
747
|
+
"success": true
|
|
748
|
+
},
|
|
749
|
+
{
|
|
750
|
+
"operation": "domSnapshot",
|
|
751
|
+
"elapsedMs": 10,
|
|
752
|
+
"success": true,
|
|
753
|
+
"stateId": 7,
|
|
754
|
+
"stateBytes": 881
|
|
755
|
+
}
|
|
756
|
+
]
|
|
757
|
+
},
|
|
758
|
+
{
|
|
759
|
+
"variant": "native-playwright",
|
|
760
|
+
"iteration": 1,
|
|
761
|
+
"invocation": "pw-remaining",
|
|
762
|
+
"phase": "deterministic-replay",
|
|
763
|
+
"success": true,
|
|
764
|
+
"scriptElapsedMs": 813,
|
|
765
|
+
"toolApiMs": 813,
|
|
766
|
+
"stateBytes": 1706,
|
|
767
|
+
"apiCalls": 7,
|
|
768
|
+
"observations": 2,
|
|
769
|
+
"steps": [
|
|
770
|
+
{
|
|
771
|
+
"operation": "domSnapshot",
|
|
772
|
+
"elapsedMs": 84,
|
|
773
|
+
"success": true,
|
|
774
|
+
"stateId": 6,
|
|
775
|
+
"stateBytes": 825
|
|
776
|
+
},
|
|
777
|
+
{
|
|
778
|
+
"operation": "fill(Search)",
|
|
779
|
+
"elapsedMs": 37,
|
|
780
|
+
"success": true
|
|
781
|
+
},
|
|
782
|
+
{
|
|
783
|
+
"operation": "selectOption(Owner)",
|
|
784
|
+
"elapsedMs": 7,
|
|
785
|
+
"success": true
|
|
786
|
+
},
|
|
787
|
+
{
|
|
788
|
+
"operation": "check(Active)",
|
|
789
|
+
"elapsedMs": 292,
|
|
790
|
+
"success": true
|
|
791
|
+
},
|
|
792
|
+
{
|
|
793
|
+
"operation": "click(Search records)",
|
|
794
|
+
"elapsedMs": 273,
|
|
795
|
+
"success": true
|
|
796
|
+
},
|
|
797
|
+
{
|
|
798
|
+
"operation": "waitFor(result)",
|
|
799
|
+
"elapsedMs": 109,
|
|
800
|
+
"success": true
|
|
801
|
+
},
|
|
802
|
+
{
|
|
803
|
+
"operation": "domSnapshot",
|
|
804
|
+
"elapsedMs": 11,
|
|
805
|
+
"success": true,
|
|
806
|
+
"stateId": 7,
|
|
807
|
+
"stateBytes": 881
|
|
808
|
+
}
|
|
809
|
+
]
|
|
810
|
+
},
|
|
811
|
+
{
|
|
812
|
+
"variant": "native-playwright",
|
|
813
|
+
"iteration": 2,
|
|
814
|
+
"invocation": "pw-remaining",
|
|
815
|
+
"phase": "deterministic-replay",
|
|
816
|
+
"success": true,
|
|
817
|
+
"scriptElapsedMs": 780,
|
|
818
|
+
"toolApiMs": 780,
|
|
819
|
+
"stateBytes": 1706,
|
|
820
|
+
"apiCalls": 7,
|
|
821
|
+
"observations": 2,
|
|
822
|
+
"steps": [
|
|
823
|
+
{
|
|
824
|
+
"operation": "domSnapshot",
|
|
825
|
+
"elapsedMs": 83,
|
|
826
|
+
"success": true,
|
|
827
|
+
"stateId": 6,
|
|
828
|
+
"stateBytes": 825
|
|
829
|
+
},
|
|
830
|
+
{
|
|
831
|
+
"operation": "fill(Search)",
|
|
832
|
+
"elapsedMs": 8,
|
|
833
|
+
"success": true
|
|
834
|
+
},
|
|
835
|
+
{
|
|
836
|
+
"operation": "selectOption(Owner)",
|
|
837
|
+
"elapsedMs": 7,
|
|
838
|
+
"success": true
|
|
839
|
+
},
|
|
840
|
+
{
|
|
841
|
+
"operation": "check(Active)",
|
|
842
|
+
"elapsedMs": 276,
|
|
843
|
+
"success": true
|
|
844
|
+
},
|
|
845
|
+
{
|
|
846
|
+
"operation": "click(Search records)",
|
|
847
|
+
"elapsedMs": 285,
|
|
848
|
+
"success": true
|
|
849
|
+
},
|
|
850
|
+
{
|
|
851
|
+
"operation": "waitFor(result)",
|
|
852
|
+
"elapsedMs": 110,
|
|
853
|
+
"success": true
|
|
854
|
+
},
|
|
855
|
+
{
|
|
856
|
+
"operation": "domSnapshot",
|
|
857
|
+
"elapsedMs": 11,
|
|
858
|
+
"success": true,
|
|
859
|
+
"stateId": 7,
|
|
860
|
+
"stateBytes": 881
|
|
861
|
+
}
|
|
862
|
+
]
|
|
863
|
+
},
|
|
864
|
+
{
|
|
865
|
+
"variant": "native-playwright",
|
|
866
|
+
"iteration": 3,
|
|
867
|
+
"invocation": "pw-remaining",
|
|
868
|
+
"phase": "deterministic-replay",
|
|
869
|
+
"success": true,
|
|
870
|
+
"scriptElapsedMs": 788,
|
|
871
|
+
"toolApiMs": 788,
|
|
872
|
+
"stateBytes": 1706,
|
|
873
|
+
"apiCalls": 7,
|
|
874
|
+
"observations": 2,
|
|
875
|
+
"steps": [
|
|
876
|
+
{
|
|
877
|
+
"operation": "domSnapshot",
|
|
878
|
+
"elapsedMs": 80,
|
|
879
|
+
"success": true,
|
|
880
|
+
"stateId": 6,
|
|
881
|
+
"stateBytes": 825
|
|
882
|
+
},
|
|
883
|
+
{
|
|
884
|
+
"operation": "fill(Search)",
|
|
885
|
+
"elapsedMs": 19,
|
|
886
|
+
"success": true
|
|
887
|
+
},
|
|
888
|
+
{
|
|
889
|
+
"operation": "selectOption(Owner)",
|
|
890
|
+
"elapsedMs": 13,
|
|
891
|
+
"success": true
|
|
892
|
+
},
|
|
893
|
+
{
|
|
894
|
+
"operation": "check(Active)",
|
|
895
|
+
"elapsedMs": 279,
|
|
896
|
+
"success": true
|
|
897
|
+
},
|
|
898
|
+
{
|
|
899
|
+
"operation": "click(Search records)",
|
|
900
|
+
"elapsedMs": 276,
|
|
901
|
+
"success": true
|
|
902
|
+
},
|
|
903
|
+
{
|
|
904
|
+
"operation": "waitFor(result)",
|
|
905
|
+
"elapsedMs": 108,
|
|
906
|
+
"success": true
|
|
907
|
+
},
|
|
908
|
+
{
|
|
909
|
+
"operation": "domSnapshot",
|
|
910
|
+
"elapsedMs": 13,
|
|
911
|
+
"success": true,
|
|
912
|
+
"stateId": 7,
|
|
913
|
+
"stateBytes": 881
|
|
914
|
+
}
|
|
915
|
+
]
|
|
916
|
+
},
|
|
917
|
+
{
|
|
918
|
+
"variant": "native-playwright",
|
|
919
|
+
"iteration": 4,
|
|
920
|
+
"invocation": "pw-remaining",
|
|
921
|
+
"phase": "deterministic-replay",
|
|
922
|
+
"success": true,
|
|
923
|
+
"scriptElapsedMs": 763,
|
|
924
|
+
"toolApiMs": 763,
|
|
925
|
+
"stateBytes": 1706,
|
|
926
|
+
"apiCalls": 7,
|
|
927
|
+
"observations": 2,
|
|
928
|
+
"steps": [
|
|
929
|
+
{
|
|
930
|
+
"operation": "domSnapshot",
|
|
931
|
+
"elapsedMs": 80,
|
|
932
|
+
"success": true,
|
|
933
|
+
"stateId": 6,
|
|
934
|
+
"stateBytes": 825
|
|
935
|
+
},
|
|
936
|
+
{
|
|
937
|
+
"operation": "fill(Search)",
|
|
938
|
+
"elapsedMs": 8,
|
|
939
|
+
"success": true
|
|
940
|
+
},
|
|
941
|
+
{
|
|
942
|
+
"operation": "selectOption(Owner)",
|
|
943
|
+
"elapsedMs": 7,
|
|
944
|
+
"success": true
|
|
945
|
+
},
|
|
946
|
+
{
|
|
947
|
+
"operation": "check(Active)",
|
|
948
|
+
"elapsedMs": 276,
|
|
949
|
+
"success": true
|
|
950
|
+
},
|
|
951
|
+
{
|
|
952
|
+
"operation": "click(Search records)",
|
|
953
|
+
"elapsedMs": 274,
|
|
954
|
+
"success": true
|
|
955
|
+
},
|
|
956
|
+
{
|
|
957
|
+
"operation": "waitFor(result)",
|
|
958
|
+
"elapsedMs": 109,
|
|
959
|
+
"success": true
|
|
960
|
+
},
|
|
961
|
+
{
|
|
962
|
+
"operation": "domSnapshot",
|
|
963
|
+
"elapsedMs": 9,
|
|
964
|
+
"success": true,
|
|
965
|
+
"stateId": 7,
|
|
966
|
+
"stateBytes": 881
|
|
967
|
+
}
|
|
968
|
+
]
|
|
969
|
+
}
|
|
970
|
+
],
|
|
971
|
+
"capabilityChecks": {
|
|
972
|
+
"shadowDom": true,
|
|
973
|
+
"sameOriginFrame": true,
|
|
974
|
+
"crossOriginFrame": true,
|
|
975
|
+
"completedFrameNodeIds": [
|
|
976
|
+
34,
|
|
977
|
+
37
|
|
978
|
+
],
|
|
979
|
+
"frameObservation": "Browser tab: 395359752, Title: \"Browser Relay benchmark\", URL: \"http://127.0.0.1:61427/\".\nThe following is a diff from the previous accessibility tree with ~ and + representing changed and added elements, respectively. Removed elements are summarized by ID range.\n~\t31 button Shadow done\n~\t\t\t34 button Frame done\n~\t\t\t37 button Frame done\nThe focused UI element is 37 button Frame done",
|
|
980
|
+
"screenshotCoordinateClick": {
|
|
981
|
+
"success": true,
|
|
982
|
+
"point": [
|
|
983
|
+
174,
|
|
984
|
+
575
|
|
985
|
+
],
|
|
986
|
+
"expectedText": "Canvas done"
|
|
987
|
+
},
|
|
988
|
+
"drag": {
|
|
989
|
+
"success": true,
|
|
990
|
+
"from": [
|
|
991
|
+
54,
|
|
992
|
+
694
|
|
993
|
+
],
|
|
994
|
+
"to": [
|
|
995
|
+
175,
|
|
996
|
+
694
|
|
997
|
+
],
|
|
998
|
+
"expectedText": "Drag done"
|
|
999
|
+
},
|
|
1000
|
+
"visualObservation": "Browser tab: 395359752, Title: \"Browser Relay benchmark\", URL: \"http://127.0.0.1:61427/\".\nThe following is a diff from the previous accessibility tree with ~ and + representing changed and added elements, respectively. Removed elements are summarized by ID range.\nRemoved element IDs: 39, 41\n+\t47 text Canvas done\n+\t48 text Drag done\nThe focused UI element is 1 AXWebArea Browser Relay benchmark, URL: 127.0.0.1:61427/",
|
|
1001
|
+
"scope": "Untimed additional capability checks; coordinates derived from a fresh screenshot after the frame interactions."
|
|
1002
|
+
}
|
|
1003
|
+
}
|