mobile-debug-mcp 0.30.2 → 0.32.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.
Files changed (87) hide show
  1. package/README.md +50 -5
  2. package/dist/interact/android.js +13 -8
  3. package/dist/interact/index.js +33 -22
  4. package/dist/interact/ios.js +5 -2
  5. package/dist/manage/android.js +20 -10
  6. package/dist/manage/ios.js +20 -11
  7. package/dist/observe/android.js +6 -1
  8. package/dist/observe/index.js +22 -5
  9. package/dist/observe/ios.js +7 -2
  10. package/dist/observe/snapshot-metadata.js +94 -15
  11. package/dist/server/common.js +14 -7
  12. package/dist/server/journey-schema.js +60 -0
  13. package/dist/server/tool-definitions.js +59 -6
  14. package/dist/server/tool-handlers.js +358 -55
  15. package/dist/server-core.js +1 -1
  16. package/dist/system/index.js +485 -48
  17. package/dist/system/ios.js +15 -7
  18. package/dist/utils/android/utils.js +4 -4
  19. package/dist/utils/cli/idb/check-idb.js +10 -3
  20. package/dist/utils/cli/idb/idb-helper.js +47 -13
  21. package/dist/utils/exec.js +4 -2
  22. package/dist/utils/ios/utils.js +10 -11
  23. package/dist/utils/operation-budget.js +25 -0
  24. package/dist/utils/resolve-device.js +12 -1
  25. package/dist/utils/timing.js +19 -0
  26. package/dist/utils/ui/index.js +2 -0
  27. package/docs/CHANGELOG.md +6 -0
  28. package/docs/ROADMAP.md +4 -4
  29. package/docs/benchmarks/interaction-latency/README.md +26 -0
  30. package/docs/benchmarks/interaction-latency/final.json +1810 -0
  31. package/docs/benchmarks/interaction-latency/final.md +17 -0
  32. package/docs/benchmarks/interaction-latency/ios-validation.md +11 -0
  33. package/docs/specs/baseline-spec-v0.md +1 -1
  34. package/docs/specs-deltas/016-environment-tools.md +533 -0
  35. package/docs/specs-deltas/018-interaction-latency-and-batched-journeys.md +301 -0
  36. package/docs/tools/TOOLS.md +2 -0
  37. package/docs/tools/interact.md +30 -0
  38. package/docs/tools/manage.md +4 -2
  39. package/docs/tools/system.md +9 -2
  40. package/package.json +1 -1
  41. package/src/interact/android.ts +13 -8
  42. package/src/interact/index.ts +32 -23
  43. package/src/interact/ios.ts +5 -2
  44. package/src/manage/android.ts +19 -10
  45. package/src/manage/ios.ts +19 -11
  46. package/src/observe/android.ts +5 -1
  47. package/src/observe/index.ts +21 -5
  48. package/src/observe/ios.ts +6 -2
  49. package/src/observe/snapshot-metadata.ts +94 -15
  50. package/src/server/common.ts +13 -6
  51. package/src/server/journey-schema.ts +63 -0
  52. package/src/server/tool-definitions.ts +60 -7
  53. package/src/server/tool-handlers.ts +324 -53
  54. package/src/server-core.ts +1 -1
  55. package/src/system/index.ts +572 -50
  56. package/src/system/ios.ts +14 -7
  57. package/src/types.ts +31 -2
  58. package/src/utils/android/utils.ts +3 -3
  59. package/src/utils/cli/idb/check-idb.ts +11 -2
  60. package/src/utils/cli/idb/idb-helper.ts +49 -12
  61. package/src/utils/exec.ts +4 -2
  62. package/src/utils/ios/utils.ts +9 -10
  63. package/src/utils/operation-budget.ts +22 -0
  64. package/src/utils/resolve-device.ts +13 -1
  65. package/src/utils/timing.ts +15 -0
  66. package/src/utils/ui/index.ts +2 -0
  67. package/test/device/automated/latency/benchmark.ts +136 -0
  68. package/test/device/automated/latency/report.ts +6 -0
  69. package/test/fixtures/latency-journey-app/AndroidManifest.xml +6 -0
  70. package/test/fixtures/latency-journey-app/README.md +10 -0
  71. package/test/fixtures/latency-journey-app/build.ts +26 -0
  72. package/test/fixtures/latency-journey-app/src/MainActivity.java +48 -0
  73. package/test/unit/interact/tap_element.test.ts +1 -1
  74. package/test/unit/manage/restart_budget.test.ts +37 -0
  75. package/test/unit/observe/capture_debug_snapshot.test.ts +6 -0
  76. package/test/unit/observe/snapshot_metadata.test.ts +20 -1
  77. package/test/unit/observe/state_delta.test.ts +15 -0
  78. package/test/unit/server/benchmark_report.test.ts +4 -0
  79. package/test/unit/server/contract.test.ts +1 -1
  80. package/test/unit/server/interaction_modes.test.ts +60 -0
  81. package/test/unit/server/operation_budget.test.ts +32 -0
  82. package/test/unit/server/response_shapes.test.ts +3 -3
  83. package/test/unit/server/run_journey.test.ts +90 -0
  84. package/test/unit/server/tap_selector.test.ts +68 -0
  85. package/test/unit/system/get_system_status.test.ts +3 -0
  86. package/test/unit/system/system_status.test.ts +40 -0
  87. package/test/unit/utils/idb_health.test.ts +74 -0
@@ -0,0 +1,1810 @@
1
+ {
2
+ "commit": "d3e6ae720db1ad1da294795790689df5a80b56b0",
3
+ "working_tree": "candidate",
4
+ "server_version": "0.32.0",
5
+ "platform": "android",
6
+ "model": "sdk_gphone64_arm64",
7
+ "os": "16",
8
+ "api": "36",
9
+ "emulator_image": "Pixel_9_Pro",
10
+ "display_size": "Physical size: 1280x2856\nOverride size: 720x1600",
11
+ "display_density": "Physical density: 480\nOverride density: 240",
12
+ "adb_timeout_ms": 30000,
13
+ "fixture_version": "1.0",
14
+ "fixture_sha256": "98244deeeba0a21da7d99a3e4b43c97806d6f8a8787ad7fe38249e5d311a6fb6",
15
+ "warmup_runs": 3,
16
+ "measured_runs": 10,
17
+ "modes": {
18
+ "baseline": {
19
+ "failures": 0,
20
+ "first_failure": null,
21
+ "total_ms": {
22
+ "count": 10,
23
+ "p50": 124094.50754200004,
24
+ "p95": 124597.88916599983,
25
+ "min": 122953.64324700006,
26
+ "max": 124597.88916599983
27
+ },
28
+ "screenshot_ms": {
29
+ "count": 10,
30
+ "p50": 304.6418330001179,
31
+ "p95": 390.5520830000751,
32
+ "min": 263.08050000015646,
33
+ "max": 390.5520830000751
34
+ },
35
+ "snapshot_ms": {
36
+ "count": 10,
37
+ "p50": 4397.419916999992,
38
+ "p95": 4539.459791999892,
39
+ "min": 4341.738583000028,
40
+ "max": 4539.459791999892
41
+ },
42
+ "components": {
43
+ "device_resolution_ms": {
44
+ "count": 130,
45
+ "p50": 203.0130829999689,
46
+ "p95": 398.29354200023226,
47
+ "min": 146.2960829997901,
48
+ "max": 591.2209999996703
49
+ },
50
+ "pre_observation_ms": {
51
+ "count": 10,
52
+ "p50": 2821.534750000108,
53
+ "p95": 2938.4980839999625,
54
+ "min": 2755.0909589999355,
55
+ "max": 2938.4980839999625
56
+ },
57
+ "dispatch_ms": {
58
+ "count": 70,
59
+ "p50": 8542.690041000023,
60
+ "p95": 8787.437791999895,
61
+ "min": 336.88641700008884,
62
+ "max": 9019.955749999965
63
+ },
64
+ "post_observation_ms": {
65
+ "count": 10,
66
+ "p50": 2756.2594999999274,
67
+ "p95": 2801.203582999995,
68
+ "min": 2730.1595830000006,
69
+ "max": 2801.203582999995
70
+ },
71
+ "serialization_ms": {
72
+ "count": 70,
73
+ "p50": 0.0070420000702142715,
74
+ "p95": 0.016874999972060323,
75
+ "min": 0.005874999915249646,
76
+ "max": 0.08329199999570847
77
+ }
78
+ }
79
+ },
80
+ "full": {
81
+ "failures": 0,
82
+ "first_failure": null,
83
+ "total_ms": {
84
+ "count": 10,
85
+ "p50": 87262.29954100028,
86
+ "p95": 88067.6383750001,
87
+ "min": 87110.95208400022,
88
+ "max": 88067.6383750001
89
+ },
90
+ "screenshot_ms": {
91
+ "count": 10,
92
+ "p50": 289.3561669997871,
93
+ "p95": 340.20200000004843,
94
+ "min": 235.04666700027883,
95
+ "max": 340.20200000004843
96
+ },
97
+ "snapshot_ms": {
98
+ "count": 10,
99
+ "p50": 4383.988166000228,
100
+ "p95": 4512.603458999656,
101
+ "min": 4208.646832999773,
102
+ "max": 4512.603458999656
103
+ },
104
+ "components": {
105
+ "pre_observation_ms": {
106
+ "count": 10,
107
+ "p50": 2721.2251250003465,
108
+ "p95": 2750.798290999839,
109
+ "min": 2648.1976659996435,
110
+ "max": 2750.798290999839
111
+ },
112
+ "dispatch_ms": {
113
+ "count": 10,
114
+ "p50": 33813.343375999946,
115
+ "p95": 34306.386916000396,
116
+ "min": 33645.024540999904,
117
+ "max": 34306.386916000396
118
+ },
119
+ "post_observation_ms": {
120
+ "count": 10,
121
+ "p50": 2680.378792000003,
122
+ "p95": 2817.8662499999627,
123
+ "min": 2655.047332999762,
124
+ "max": 2817.8662499999627
125
+ },
126
+ "serialization_ms": {
127
+ "count": 10,
128
+ "p50": 0.31770800007507205,
129
+ "p95": 0.8089169994927943,
130
+ "min": 0.23075099987909198,
131
+ "max": 0.8089169994927943
132
+ },
133
+ "target_resolution_ms": {
134
+ "count": 10,
135
+ "p50": 15764.895750999916,
136
+ "p95": 15823.813832999673,
137
+ "min": 15696.016875999514,
138
+ "max": 15823.813832999673
139
+ }
140
+ }
141
+ },
142
+ "light": {
143
+ "failures": 0,
144
+ "first_failure": null,
145
+ "total_ms": {
146
+ "count": 10,
147
+ "p50": 51817.59008300025,
148
+ "p95": 53873.19891700009,
149
+ "min": 51462.841250000056,
150
+ "max": 53873.19891700009
151
+ },
152
+ "screenshot_ms": {
153
+ "count": 10,
154
+ "p50": 298.09058399964124,
155
+ "p95": 579.2504579997621,
156
+ "min": 281.5155420000665,
157
+ "max": 579.2504579997621
158
+ },
159
+ "snapshot_ms": {
160
+ "count": 10,
161
+ "p50": 4325.393459000159,
162
+ "p95": 4439.145916000009,
163
+ "min": 4214.047791999765,
164
+ "max": 4439.145916000009
165
+ },
166
+ "components": {
167
+ "serialization_ms": {
168
+ "count": 10,
169
+ "p50": 0.12124999985098839,
170
+ "p95": 0.1757490006275475,
171
+ "min": 0.08766599977388978,
172
+ "max": 0.1757490006275475
173
+ }
174
+ }
175
+ }
176
+ },
177
+ "requests": {
178
+ "baseline": [
179
+ {
180
+ "tool": "start_app",
181
+ "appId": "[fixture]",
182
+ "actionTimeoutMs": 30000,
183
+ "verificationTimeoutMs": 60000
184
+ },
185
+ {
186
+ "tool": "wait_for_ui",
187
+ "selector": {
188
+ "accessibility_id": "saved-session"
189
+ },
190
+ "condition": "clickable",
191
+ "timeout_ms": 10000,
192
+ "poll_interval_ms": 100
193
+ },
194
+ {
195
+ "tool": "tap_element",
196
+ "elementId": "el_284ea011b3ff950d95d11a6f",
197
+ "actionTimeoutMs": 30000,
198
+ "verificationTimeoutMs": 60000
199
+ },
200
+ {
201
+ "tool": "expect_element_visible",
202
+ "selector": {
203
+ "accessibility_id": "idle-detail"
204
+ },
205
+ "timeout_ms": 30000,
206
+ "poll_interval_ms": 100
207
+ },
208
+ {
209
+ "tool": "wait_for_ui",
210
+ "selector": {
211
+ "accessibility_id": "activate"
212
+ },
213
+ "condition": "clickable",
214
+ "timeout_ms": 10000,
215
+ "poll_interval_ms": 100
216
+ },
217
+ {
218
+ "tool": "tap_element",
219
+ "elementId": "el_da2dcd3da0dca3c16a5c4dcc",
220
+ "actionTimeoutMs": 30000,
221
+ "verificationTimeoutMs": 60000
222
+ },
223
+ {
224
+ "tool": "expect_element_visible",
225
+ "selector": {
226
+ "accessibility_id": "active-detail"
227
+ },
228
+ "timeout_ms": 30000,
229
+ "poll_interval_ms": 100
230
+ },
231
+ {
232
+ "tool": "wait_for_ui",
233
+ "selector": {
234
+ "accessibility_id": "home"
235
+ },
236
+ "condition": "clickable",
237
+ "timeout_ms": 10000,
238
+ "poll_interval_ms": 100
239
+ },
240
+ {
241
+ "tool": "tap_element",
242
+ "elementId": "el_09c39927153768ca1f6a78ee",
243
+ "actionTimeoutMs": 30000,
244
+ "verificationTimeoutMs": 60000
245
+ },
246
+ {
247
+ "tool": "expect_element_visible",
248
+ "selector": {
249
+ "accessibility_id": "home-screen"
250
+ },
251
+ "timeout_ms": 30000,
252
+ "poll_interval_ms": 100
253
+ },
254
+ {
255
+ "tool": "wait_for_ui",
256
+ "selector": {
257
+ "accessibility_id": "saved-session"
258
+ },
259
+ "condition": "clickable",
260
+ "timeout_ms": 10000,
261
+ "poll_interval_ms": 100
262
+ },
263
+ {
264
+ "tool": "tap_element",
265
+ "elementId": "el_284ea011b3ff950d95d11a6f",
266
+ "actionTimeoutMs": 30000,
267
+ "verificationTimeoutMs": 60000
268
+ },
269
+ {
270
+ "tool": "expect_element_visible",
271
+ "selector": {
272
+ "accessibility_id": "active-detail"
273
+ },
274
+ "timeout_ms": 30000,
275
+ "poll_interval_ms": 100
276
+ },
277
+ {
278
+ "tool": "wait_for_ui",
279
+ "selector": {
280
+ "accessibility_id": "deactivate"
281
+ },
282
+ "condition": "clickable",
283
+ "timeout_ms": 10000,
284
+ "poll_interval_ms": 100
285
+ },
286
+ {
287
+ "tool": "tap_element",
288
+ "elementId": "el_bb2ec1389d9ac8dea2e5e1ec",
289
+ "actionTimeoutMs": 30000,
290
+ "verificationTimeoutMs": 60000
291
+ },
292
+ {
293
+ "tool": "expect_element_visible",
294
+ "selector": {
295
+ "accessibility_id": "idle-detail"
296
+ },
297
+ "timeout_ms": 30000,
298
+ "poll_interval_ms": 100
299
+ },
300
+ {
301
+ "tool": "wait_for_ui",
302
+ "selector": {
303
+ "accessibility_id": "stop"
304
+ },
305
+ "condition": "clickable",
306
+ "timeout_ms": 10000,
307
+ "poll_interval_ms": 100
308
+ },
309
+ {
310
+ "tool": "tap_element",
311
+ "elementId": "el_8c89484e6d80066a9a410323",
312
+ "actionTimeoutMs": 30000,
313
+ "verificationTimeoutMs": 60000
314
+ },
315
+ {
316
+ "tool": "expect_element_visible",
317
+ "selector": {
318
+ "accessibility_id": "stopped"
319
+ },
320
+ "timeout_ms": 30000,
321
+ "poll_interval_ms": 100
322
+ },
323
+ {
324
+ "tool": "capture_screenshot"
325
+ },
326
+ {
327
+ "tool": "capture_debug_snapshot",
328
+ "includeScreenshot": false,
329
+ "includeLogs": false
330
+ }
331
+ ],
332
+ "full": [
333
+ {
334
+ "tool": "run_journey",
335
+ "defaults": {
336
+ "verificationMode": "full",
337
+ "actionTimeoutMs": 30000,
338
+ "verificationTimeoutMs": 60000
339
+ },
340
+ "responseMode": "debug",
341
+ "steps": [
342
+ {
343
+ "id": "launch",
344
+ "type": "start_app",
345
+ "appId": "[fixture]"
346
+ },
347
+ {
348
+ "id": "tap-0",
349
+ "type": "tap",
350
+ "selector": {
351
+ "accessibility_id": "saved-session"
352
+ },
353
+ "waitFor": {
354
+ "condition": "clickable",
355
+ "timeoutMs": 10000,
356
+ "pollIntervalMs": 100
357
+ }
358
+ },
359
+ {
360
+ "id": "assert-0",
361
+ "type": "assert",
362
+ "assertion": {
363
+ "kind": "element_visible",
364
+ "selector": {
365
+ "accessibility_id": "idle-detail"
366
+ }
367
+ },
368
+ "timeoutMs": 30000,
369
+ "pollIntervalMs": 100
370
+ },
371
+ {
372
+ "id": "tap-1",
373
+ "type": "tap",
374
+ "selector": {
375
+ "accessibility_id": "activate"
376
+ },
377
+ "waitFor": {
378
+ "condition": "clickable",
379
+ "timeoutMs": 10000,
380
+ "pollIntervalMs": 100
381
+ }
382
+ },
383
+ {
384
+ "id": "assert-1",
385
+ "type": "assert",
386
+ "assertion": {
387
+ "kind": "element_visible",
388
+ "selector": {
389
+ "accessibility_id": "active-detail"
390
+ }
391
+ },
392
+ "timeoutMs": 30000,
393
+ "pollIntervalMs": 100
394
+ },
395
+ {
396
+ "id": "tap-2",
397
+ "type": "tap",
398
+ "selector": {
399
+ "accessibility_id": "home"
400
+ },
401
+ "waitFor": {
402
+ "condition": "clickable",
403
+ "timeoutMs": 10000,
404
+ "pollIntervalMs": 100
405
+ }
406
+ },
407
+ {
408
+ "id": "assert-2",
409
+ "type": "assert",
410
+ "assertion": {
411
+ "kind": "element_visible",
412
+ "selector": {
413
+ "accessibility_id": "home-screen"
414
+ }
415
+ },
416
+ "timeoutMs": 30000,
417
+ "pollIntervalMs": 100
418
+ },
419
+ {
420
+ "id": "tap-3",
421
+ "type": "tap",
422
+ "selector": {
423
+ "accessibility_id": "saved-session"
424
+ },
425
+ "waitFor": {
426
+ "condition": "clickable",
427
+ "timeoutMs": 10000,
428
+ "pollIntervalMs": 100
429
+ }
430
+ },
431
+ {
432
+ "id": "assert-3",
433
+ "type": "assert",
434
+ "assertion": {
435
+ "kind": "element_visible",
436
+ "selector": {
437
+ "accessibility_id": "active-detail"
438
+ }
439
+ },
440
+ "timeoutMs": 30000,
441
+ "pollIntervalMs": 100
442
+ },
443
+ {
444
+ "id": "tap-4",
445
+ "type": "tap",
446
+ "selector": {
447
+ "accessibility_id": "deactivate"
448
+ },
449
+ "waitFor": {
450
+ "condition": "clickable",
451
+ "timeoutMs": 10000,
452
+ "pollIntervalMs": 100
453
+ }
454
+ },
455
+ {
456
+ "id": "assert-4",
457
+ "type": "assert",
458
+ "assertion": {
459
+ "kind": "element_visible",
460
+ "selector": {
461
+ "accessibility_id": "idle-detail"
462
+ }
463
+ },
464
+ "timeoutMs": 30000,
465
+ "pollIntervalMs": 100
466
+ },
467
+ {
468
+ "id": "tap-5",
469
+ "type": "tap",
470
+ "selector": {
471
+ "accessibility_id": "stop"
472
+ },
473
+ "waitFor": {
474
+ "condition": "clickable",
475
+ "timeoutMs": 10000,
476
+ "pollIntervalMs": 100
477
+ }
478
+ },
479
+ {
480
+ "id": "assert-5",
481
+ "type": "assert",
482
+ "assertion": {
483
+ "kind": "element_visible",
484
+ "selector": {
485
+ "accessibility_id": "stopped"
486
+ }
487
+ },
488
+ "timeoutMs": 30000,
489
+ "pollIntervalMs": 100
490
+ }
491
+ ]
492
+ },
493
+ {
494
+ "tool": "capture_screenshot"
495
+ },
496
+ {
497
+ "tool": "capture_debug_snapshot",
498
+ "includeScreenshot": false,
499
+ "includeLogs": false
500
+ }
501
+ ],
502
+ "light": [
503
+ {
504
+ "tool": "run_journey",
505
+ "defaults": {
506
+ "verificationMode": "light",
507
+ "actionTimeoutMs": 30000,
508
+ "verificationTimeoutMs": 60000
509
+ },
510
+ "responseMode": "compact",
511
+ "steps": [
512
+ {
513
+ "id": "launch",
514
+ "type": "start_app",
515
+ "appId": "[fixture]"
516
+ },
517
+ {
518
+ "id": "tap-0",
519
+ "type": "tap",
520
+ "selector": {
521
+ "accessibility_id": "saved-session"
522
+ },
523
+ "waitFor": {
524
+ "condition": "clickable",
525
+ "timeoutMs": 10000,
526
+ "pollIntervalMs": 100
527
+ }
528
+ },
529
+ {
530
+ "id": "assert-0",
531
+ "type": "assert",
532
+ "assertion": {
533
+ "kind": "element_visible",
534
+ "selector": {
535
+ "accessibility_id": "idle-detail"
536
+ }
537
+ },
538
+ "timeoutMs": 30000,
539
+ "pollIntervalMs": 100
540
+ },
541
+ {
542
+ "id": "tap-1",
543
+ "type": "tap",
544
+ "selector": {
545
+ "accessibility_id": "activate"
546
+ },
547
+ "waitFor": {
548
+ "condition": "clickable",
549
+ "timeoutMs": 10000,
550
+ "pollIntervalMs": 100
551
+ }
552
+ },
553
+ {
554
+ "id": "assert-1",
555
+ "type": "assert",
556
+ "assertion": {
557
+ "kind": "element_visible",
558
+ "selector": {
559
+ "accessibility_id": "active-detail"
560
+ }
561
+ },
562
+ "timeoutMs": 30000,
563
+ "pollIntervalMs": 100
564
+ },
565
+ {
566
+ "id": "tap-2",
567
+ "type": "tap",
568
+ "selector": {
569
+ "accessibility_id": "home"
570
+ },
571
+ "waitFor": {
572
+ "condition": "clickable",
573
+ "timeoutMs": 10000,
574
+ "pollIntervalMs": 100
575
+ }
576
+ },
577
+ {
578
+ "id": "assert-2",
579
+ "type": "assert",
580
+ "assertion": {
581
+ "kind": "element_visible",
582
+ "selector": {
583
+ "accessibility_id": "home-screen"
584
+ }
585
+ },
586
+ "timeoutMs": 30000,
587
+ "pollIntervalMs": 100
588
+ },
589
+ {
590
+ "id": "tap-3",
591
+ "type": "tap",
592
+ "selector": {
593
+ "accessibility_id": "saved-session"
594
+ },
595
+ "waitFor": {
596
+ "condition": "clickable",
597
+ "timeoutMs": 10000,
598
+ "pollIntervalMs": 100
599
+ }
600
+ },
601
+ {
602
+ "id": "assert-3",
603
+ "type": "assert",
604
+ "assertion": {
605
+ "kind": "element_visible",
606
+ "selector": {
607
+ "accessibility_id": "active-detail"
608
+ }
609
+ },
610
+ "timeoutMs": 30000,
611
+ "pollIntervalMs": 100
612
+ },
613
+ {
614
+ "id": "tap-4",
615
+ "type": "tap",
616
+ "selector": {
617
+ "accessibility_id": "deactivate"
618
+ },
619
+ "waitFor": {
620
+ "condition": "clickable",
621
+ "timeoutMs": 10000,
622
+ "pollIntervalMs": 100
623
+ }
624
+ },
625
+ {
626
+ "id": "assert-4",
627
+ "type": "assert",
628
+ "assertion": {
629
+ "kind": "element_visible",
630
+ "selector": {
631
+ "accessibility_id": "idle-detail"
632
+ }
633
+ },
634
+ "timeoutMs": 30000,
635
+ "pollIntervalMs": 100
636
+ },
637
+ {
638
+ "id": "tap-5",
639
+ "type": "tap",
640
+ "selector": {
641
+ "accessibility_id": "stop"
642
+ },
643
+ "waitFor": {
644
+ "condition": "clickable",
645
+ "timeoutMs": 10000,
646
+ "pollIntervalMs": 100
647
+ }
648
+ },
649
+ {
650
+ "id": "assert-5",
651
+ "type": "assert",
652
+ "assertion": {
653
+ "kind": "element_visible",
654
+ "selector": {
655
+ "accessibility_id": "stopped"
656
+ }
657
+ },
658
+ "timeoutMs": 30000,
659
+ "pollIntervalMs": 100
660
+ }
661
+ ]
662
+ },
663
+ {
664
+ "tool": "capture_screenshot"
665
+ },
666
+ {
667
+ "tool": "capture_debug_snapshot",
668
+ "includeScreenshot": false,
669
+ "includeLogs": false
670
+ }
671
+ ]
672
+ },
673
+ "raw": [
674
+ {
675
+ "mode": "baseline",
676
+ "warmup": true,
677
+ "success": true,
678
+ "total_ms": 123826.73966499999,
679
+ "componentTimes": {
680
+ "device_resolution_ms": [
681
+ 171.21650000000045,
682
+ 115.28654199999983,
683
+ 302.6116669999974,
684
+ 173.05270799999926,
685
+ 305.0470409999907,
686
+ 182.88650000000052,
687
+ 316.4152069999982,
688
+ 186.2842079999973,
689
+ 306.70204200000444,
690
+ 180.84450000000652,
691
+ 412.59712500000023,
692
+ 164.27637500000128,
693
+ 358.5372930000012
694
+ ],
695
+ "pre_observation_ms": [
696
+ 2938.6722500000005
697
+ ],
698
+ "dispatch_ms": [
699
+ 337.1137920000001,
700
+ 8683.674459000002,
701
+ 8421.700082999996,
702
+ 8531.268292,
703
+ 8479.533750000002,
704
+ 8705.759542,
705
+ 8457.861292000001
706
+ ],
707
+ "post_observation_ms": [
708
+ 2679.621333
709
+ ],
710
+ "serialization_ms": [
711
+ 0.007250000000567525,
712
+ 0.009916999999404652,
713
+ 0.0587500000037835,
714
+ 0.0057090000045718625,
715
+ 0.005750000011175871,
716
+ 0.00712500000372529,
717
+ 0.006041000000550412
718
+ ]
719
+ },
720
+ "screenshot_ms": 371.4649589999899,
721
+ "snapshot_ms": 4332.176666999992
722
+ },
723
+ {
724
+ "mode": "baseline",
725
+ "warmup": true,
726
+ "success": true,
727
+ "total_ms": 123973.75087400002,
728
+ "componentTimes": {
729
+ "device_resolution_ms": [
730
+ 185.779916999978,
731
+ 176.12833300000057,
732
+ 399.8787500000035,
733
+ 224.1976250000007,
734
+ 349.7896249999758,
735
+ 171.92749900001218,
736
+ 368.8325420000183,
737
+ 187.79137600003742,
738
+ 379.0231240000285,
739
+ 183.99804199996288,
740
+ 343.9966660000209,
741
+ 167.73629200001596,
742
+ 378.0309990000096
743
+ ],
744
+ "pre_observation_ms": [
745
+ 2860.1256669999857
746
+ ],
747
+ "dispatch_ms": [
748
+ 445.5057910000032,
749
+ 8554.93308300001,
750
+ 8485.86508399999,
751
+ 8577.761167000019,
752
+ 8603.864375000005,
753
+ 8536.866791000008,
754
+ 8582.450291999994
755
+ ],
756
+ "post_observation_ms": [
757
+ 2789.603959
758
+ ],
759
+ "serialization_ms": [
760
+ 0.006333999976050109,
761
+ 0.006708000000799075,
762
+ 0.015000000013969839,
763
+ 0.005874999973457307,
764
+ 0.006750000000465661,
765
+ 0.0068749999918509275,
766
+ 0.006083000014768913
767
+ ]
768
+ },
769
+ "screenshot_ms": 303.74183399998583,
770
+ "snapshot_ms": 4380.372166999994
771
+ },
772
+ {
773
+ "mode": "baseline",
774
+ "warmup": true,
775
+ "success": true,
776
+ "total_ms": 123202.29545699997,
777
+ "componentTimes": {
778
+ "device_resolution_ms": [
779
+ 144.50654099998064,
780
+ 168.98875000001863,
781
+ 314.66254000004847,
782
+ 194.13208300003316,
783
+ 348.0900430000038,
784
+ 168.5018750000163,
785
+ 359.5508330000448,
786
+ 177.0687490000273,
787
+ 352.9417089999188,
788
+ 165.98829200002365,
789
+ 380.3683740000124,
790
+ 176.09895800001686,
791
+ 315.54470799997216
792
+ ],
793
+ "pre_observation_ms": [
794
+ 2993.4434170000022
795
+ ],
796
+ "dispatch_ms": [
797
+ 426.65333300002385,
798
+ 8415.716541000002,
799
+ 8538.700249999994,
800
+ 8557.76787500002,
801
+ 8482.160959,
802
+ 8505.737749999971,
803
+ 8405.482458000013
804
+ ],
805
+ "post_observation_ms": [
806
+ 2723.290624999965
807
+ ],
808
+ "serialization_ms": [
809
+ 0.00933400000212714,
810
+ 0.006791999971028417,
811
+ 0.006083999993279576,
812
+ 0.007000000041443855,
813
+ 0.006209000013768673,
814
+ 0.009291999973356724,
815
+ 0.010790999978780746
816
+ ]
817
+ },
818
+ "screenshot_ms": 284.6438329999801,
819
+ "snapshot_ms": 4399.775874999992
820
+ },
821
+ {
822
+ "mode": "baseline",
823
+ "warmup": false,
824
+ "success": true,
825
+ "total_ms": 122953.64324700006,
826
+ "componentTimes": {
827
+ "device_resolution_ms": [
828
+ 239.37337499996647,
829
+ 161.79033399996115,
830
+ 336.24641500005964,
831
+ 169.98733300005551,
832
+ 307.31633400003193,
833
+ 185.35116600000765,
834
+ 328.08374799997546,
835
+ 176.40787499997532,
836
+ 316.82379100000253,
837
+ 178.67420899990248,
838
+ 391.53445699997246,
839
+ 158.4187919999822,
840
+ 342.19070699991425
841
+ ],
842
+ "pre_observation_ms": [
843
+ 2865.6876250000205
844
+ ],
845
+ "dispatch_ms": [
846
+ 353.86558400001377,
847
+ 8529.383124999993,
848
+ 8442.972750000015,
849
+ 8421.538541999995,
850
+ 8552.33712500002,
851
+ 8531.97441700002,
852
+ 8590.979708000028
853
+ ],
854
+ "post_observation_ms": [
855
+ 2730.1595830000006
856
+ ],
857
+ "serialization_ms": [
858
+ 0.008125000051222742,
859
+ 0.00841700000455603,
860
+ 0.008542000025045127,
861
+ 0.007083000033162534,
862
+ 0.006333000026643276,
863
+ 0.006124999956227839,
864
+ 0.008040999993681908
865
+ ]
866
+ },
867
+ "screenshot_ms": 274.4475000000093,
868
+ "snapshot_ms": 4412.734833999944
869
+ },
870
+ {
871
+ "mode": "baseline",
872
+ "warmup": false,
873
+ "success": true,
874
+ "total_ms": 123692.589959,
875
+ "componentTimes": {
876
+ "device_resolution_ms": [
877
+ 167.49629200005438,
878
+ 149.58525000012014,
879
+ 357.97187399992254,
880
+ 184.69341700011864,
881
+ 343.0557919999119,
882
+ 182.10875000001397,
883
+ 371.6943330001086,
884
+ 193.40341699996497,
885
+ 403.05004300002474,
886
+ 182.02283400006127,
887
+ 330.69412399991415,
888
+ 162.88658299995586,
889
+ 370.4292079999577
890
+ ],
891
+ "pre_observation_ms": [
892
+ 2755.0909589999355
893
+ ],
894
+ "dispatch_ms": [
895
+ 364.29241700004786,
896
+ 8624.585792000056,
897
+ 8510.666666000034,
898
+ 8543.704750000034,
899
+ 8592.807333000004,
900
+ 8546.671875,
901
+ 8581.173583000083
902
+ ],
903
+ "post_observation_ms": [
904
+ 2778.10929199995
905
+ ],
906
+ "serialization_ms": [
907
+ 0.006209000013768673,
908
+ 0.006500000017695129,
909
+ 0.009958999929949641,
910
+ 0.08329199999570847,
911
+ 0.007166999974288046,
912
+ 0.0062500000931322575,
913
+ 0.006958000012673438
914
+ ]
915
+ },
916
+ "screenshot_ms": 300.6519580000313,
917
+ "snapshot_ms": 4341.738583000028
918
+ },
919
+ {
920
+ "mode": "baseline",
921
+ "warmup": false,
922
+ "success": true,
923
+ "total_ms": 124490.98908200022,
924
+ "componentTimes": {
925
+ "device_resolution_ms": [
926
+ 170.13349899998866,
927
+ 175.29374999995343,
928
+ 352.9650000000838,
929
+ 204.754374000011,
930
+ 392.732624999946,
931
+ 180.93337499990594,
932
+ 382.5814169999212,
933
+ 184.18833400006406,
934
+ 313.8656660000561,
935
+ 193.98787500010803,
936
+ 383.2401250001276,
937
+ 158.74941699998453,
938
+ 374.01016700000037
939
+ ],
940
+ "pre_observation_ms": [
941
+ 2938.4980839999625
942
+ ],
943
+ "dispatch_ms": [
944
+ 469.5687920000637,
945
+ 8571.213583000004,
946
+ 8659.646667000023,
947
+ 8561.192583000055,
948
+ 8628.210499999928,
949
+ 8527.500665999949,
950
+ 8466.073041999945
951
+ ],
952
+ "post_observation_ms": [
953
+ 2801.203582999995
954
+ ],
955
+ "serialization_ms": [
956
+ 0.00712500000372529,
957
+ 0.0069160000421106815,
958
+ 0.007209000061266124,
959
+ 0.007249999907799065,
960
+ 0.00820799998473376,
961
+ 0.006958000012673438,
962
+ 0.006999999983236194
963
+ ]
964
+ },
965
+ "screenshot_ms": 318.3640000000596,
966
+ "snapshot_ms": 4539.459791999892
967
+ },
968
+ {
969
+ "mode": "baseline",
970
+ "warmup": false,
971
+ "success": true,
972
+ "total_ms": 123713.80770799983,
973
+ "componentTimes": {
974
+ "device_resolution_ms": [
975
+ 175.1538329999894,
976
+ 172.17587599996477,
977
+ 385.251290999935,
978
+ 186.40475000010338,
979
+ 378.40916600008495,
980
+ 160.5970419999212,
981
+ 327.8242490000557,
982
+ 154.06874999997672,
983
+ 355.22762500017416,
984
+ 173.7398749999702,
985
+ 346.136668000021,
986
+ 152.49695899989456,
987
+ 349.0805819998495
988
+ ],
989
+ "pre_observation_ms": [
990
+ 2868.2257090000203
991
+ ],
992
+ "dispatch_ms": [
993
+ 358.783250000095,
994
+ 8609.747165999957,
995
+ 8801.543999999994,
996
+ 8463.131374999997,
997
+ 8534.057083999971,
998
+ 8485.16391699994,
999
+ 8526.580709000002
1000
+ ],
1001
+ "post_observation_ms": [
1002
+ 2748.3601250000065
1003
+ ],
1004
+ "serialization_ms": [
1005
+ 0.008999999961815774,
1006
+ 0.00620800000615418,
1007
+ 0.012792000081390142,
1008
+ 0.007291999994777143,
1009
+ 0.006416999967768788,
1010
+ 0.006165999919176102,
1011
+ 0.016874999972060323
1012
+ ]
1013
+ },
1014
+ "screenshot_ms": 318.3522090000333,
1015
+ "snapshot_ms": 4506.826291000005
1016
+ },
1017
+ {
1018
+ "mode": "baseline",
1019
+ "warmup": false,
1020
+ "success": true,
1021
+ "total_ms": 124094.50754200004,
1022
+ "componentTimes": {
1023
+ "device_resolution_ms": [
1024
+ 180.7551659999881,
1025
+ 184.58399999991525,
1026
+ 383.8293340000091,
1027
+ 181.66004200000316,
1028
+ 374.659081999911,
1029
+ 193.57595899992157,
1030
+ 340.22695800021756,
1031
+ 172.6799170000013,
1032
+ 362.21112500014715,
1033
+ 185.23741700011306,
1034
+ 335.89829100016505,
1035
+ 183.82495899987407,
1036
+ 363.4634180001449
1037
+ ],
1038
+ "pre_observation_ms": [
1039
+ 2792.0044589999598
1040
+ ],
1041
+ "dispatch_ms": [
1042
+ 356.9751249999972,
1043
+ 8529.956208999967,
1044
+ 8615.884625000064,
1045
+ 8611.457707999973,
1046
+ 8525.80008299998,
1047
+ 8458.964167000027,
1048
+ 8565.862333000056
1049
+ ],
1050
+ "post_observation_ms": [
1051
+ 2767.235500000068
1052
+ ],
1053
+ "serialization_ms": [
1054
+ 0.007499999948777258,
1055
+ 0.006541999988257885,
1056
+ 0.006583999958820641,
1057
+ 0.008291000034660101,
1058
+ 0.007208000053651631,
1059
+ 0.009749999968335032,
1060
+ 0.005874999915249646
1061
+ ]
1062
+ },
1063
+ "screenshot_ms": 311.408875000081,
1064
+ "snapshot_ms": 4390.488833000069
1065
+ },
1066
+ {
1067
+ "mode": "baseline",
1068
+ "warmup": false,
1069
+ "success": true,
1070
+ "total_ms": 124123.25400000019,
1071
+ "componentTimes": {
1072
+ "device_resolution_ms": [
1073
+ 171.04195799981244,
1074
+ 181.70516699994914,
1075
+ 364.6913339998573,
1076
+ 184.56258400017396,
1077
+ 357.1149999999907,
1078
+ 171.31475099991076,
1079
+ 343.34920900012366,
1080
+ 182.4652500001248,
1081
+ 456.65966599970125,
1082
+ 176.5919990001712,
1083
+ 327.0537090001162,
1084
+ 167.88495799992234,
1085
+ 437.0760419999715
1086
+ ],
1087
+ "pre_observation_ms": [
1088
+ 2821.534750000108
1089
+ ],
1090
+ "dispatch_ms": [
1091
+ 370.3332909999881,
1092
+ 8630.76604100014,
1093
+ 8550.510041000089,
1094
+ 8605.831042000093,
1095
+ 8733.013250000076,
1096
+ 8488.284417000134,
1097
+ 8536.852000000188
1098
+ ],
1099
+ "post_observation_ms": [
1100
+ 2746.708875000011
1101
+ ],
1102
+ "serialization_ms": [
1103
+ 0.006417000200599432,
1104
+ 0.006624999921768904,
1105
+ 0.007041999837383628,
1106
+ 0.026374999899417162,
1107
+ 0.007250000024214387,
1108
+ 0.010499999858438969,
1109
+ 0.006666000001132488
1110
+ ]
1111
+ },
1112
+ "screenshot_ms": 390.5520830000751,
1113
+ "snapshot_ms": 4418.580582999857
1114
+ },
1115
+ {
1116
+ "mode": "baseline",
1117
+ "warmup": false,
1118
+ "success": true,
1119
+ "total_ms": 123734.0562489999,
1120
+ "componentTimes": {
1121
+ "device_resolution_ms": [
1122
+ 186.76829199981876,
1123
+ 171.00424999999814,
1124
+ 326.96375000011176,
1125
+ 153.16483299992979,
1126
+ 347.0757089997642,
1127
+ 183.1972920000553,
1128
+ 347.80225000018254,
1129
+ 146.2960829997901,
1130
+ 331.4191680001095,
1131
+ 227.8434170000255,
1132
+ 367.5076250000857,
1133
+ 161.32695800019428,
1134
+ 366.84195800009184
1135
+ ],
1136
+ "pre_observation_ms": [
1137
+ 2811.209291000152
1138
+ ],
1139
+ "dispatch_ms": [
1140
+ 374.07033399981447,
1141
+ 8524.054749999894,
1142
+ 8574.979458000045,
1143
+ 8581.703834000044,
1144
+ 8595.027541999938,
1145
+ 8554.398833999876,
1146
+ 8532.161249999888
1147
+ ],
1148
+ "post_observation_ms": [
1149
+ 2756.2594999999274
1150
+ ],
1151
+ "serialization_ms": [
1152
+ 0.006500000134110451,
1153
+ 0.008416000055149198,
1154
+ 0.006333000026643276,
1155
+ 0.006499999901279807,
1156
+ 0.007290999870747328,
1157
+ 0.006792000029236078,
1158
+ 0.0069160000421106815
1159
+ ]
1160
+ },
1161
+ "screenshot_ms": 304.6418330001179,
1162
+ "snapshot_ms": 4384.511167000048
1163
+ },
1164
+ {
1165
+ "mode": "baseline",
1166
+ "warmup": false,
1167
+ "success": true,
1168
+ "total_ms": 124327.70570900012,
1169
+ "componentTimes": {
1170
+ "device_resolution_ms": [
1171
+ 215.02224899991415,
1172
+ 168.91137500014156,
1173
+ 356.5234590002801,
1174
+ 173.44645799999125,
1175
+ 316.55841700034216,
1176
+ 197.09908299986273,
1177
+ 395.1251260000281,
1178
+ 192.0033749998547,
1179
+ 336.81233200011775,
1180
+ 180.58616599999368,
1181
+ 379.8878740002401,
1182
+ 156.98529199976474,
1183
+ 358.8729570002761
1184
+ ],
1185
+ "pre_observation_ms": [
1186
+ 2891.513082999969
1187
+ ],
1188
+ "dispatch_ms": [
1189
+ 336.88641700008884,
1190
+ 8473.02445799997,
1191
+ 8670.417916999897,
1192
+ 8573.524750000099,
1193
+ 8463.809124999912,
1194
+ 8678.780833000084,
1195
+ 8542.690041000023
1196
+ ],
1197
+ "post_observation_ms": [
1198
+ 2785.467292000074
1199
+ ],
1200
+ "serialization_ms": [
1201
+ 0.0070420000702142715,
1202
+ 0.009833000134676695,
1203
+ 0.006540999980643392,
1204
+ 0.007082999916747212,
1205
+ 0.006166999926790595,
1206
+ 0.006125000072643161,
1207
+ 0.015374999959021807
1208
+ ]
1209
+ },
1210
+ "screenshot_ms": 319.52524999994785,
1211
+ "snapshot_ms": 4430.693250000011
1212
+ },
1213
+ {
1214
+ "mode": "baseline",
1215
+ "warmup": false,
1216
+ "success": true,
1217
+ "total_ms": 124565.58691399964,
1218
+ "componentTimes": {
1219
+ "device_resolution_ms": [
1220
+ 202.74291600007564,
1221
+ 187.76904199970886,
1222
+ 374.44387500034645,
1223
+ 178.90908300015144,
1224
+ 418.08529099985026,
1225
+ 193.64337399997748,
1226
+ 403.73916799994186,
1227
+ 212.07504199980758,
1228
+ 387.7577909999527,
1229
+ 184.8792090001516,
1230
+ 388.49579300009646,
1231
+ 181.07579199993052,
1232
+ 345.5867910000961
1233
+ ],
1234
+ "pre_observation_ms": [
1235
+ 2878.775334000122
1236
+ ],
1237
+ "dispatch_ms": [
1238
+ 346.7744169998914,
1239
+ 8542.280708999839,
1240
+ 8787.437791999895,
1241
+ 8614.887125000125,
1242
+ 8525.714542000089,
1243
+ 8693.800332999788,
1244
+ 8532.851416000165
1245
+ ],
1246
+ "post_observation_ms": [
1247
+ 2784.859082999872
1248
+ ],
1249
+ "serialization_ms": [
1250
+ 0.007250000024214387,
1251
+ 0.00620800000615418,
1252
+ 0.007207999937236309,
1253
+ 0.006917000049725175,
1254
+ 0.009415999986231327,
1255
+ 0.006958000129088759,
1256
+ 0.006209000013768673
1257
+ ]
1258
+ },
1259
+ "screenshot_ms": 263.08050000015646,
1260
+ "snapshot_ms": 4397.419916999992
1261
+ },
1262
+ {
1263
+ "mode": "baseline",
1264
+ "warmup": false,
1265
+ "success": true,
1266
+ "total_ms": 124597.88916599983,
1267
+ "componentTimes": {
1268
+ "device_resolution_ms": [
1269
+ 170.39066699985415,
1270
+ 175.40079100010917,
1271
+ 398.29354200023226,
1272
+ 181.69650000007823,
1273
+ 344.4989579995163,
1274
+ 188.88166700000875,
1275
+ 365.18470999994315,
1276
+ 192.5568750000093,
1277
+ 339.5327499997802,
1278
+ 203.0130829999689,
1279
+ 591.2209999996703,
1280
+ 176.433291999856,
1281
+ 356.9982519999612
1282
+ ],
1283
+ "pre_observation_ms": [
1284
+ 2809.816542000044
1285
+ ],
1286
+ "dispatch_ms": [
1287
+ 389.5019170001615,
1288
+ 8612.158624999924,
1289
+ 8791.592625000048,
1290
+ 8630.93341700011,
1291
+ 8533.082915999927,
1292
+ 9019.955749999965,
1293
+ 8568.644749999978
1294
+ ],
1295
+ "post_observation_ms": [
1296
+ 2755.691250000149
1297
+ ],
1298
+ "serialization_ms": [
1299
+ 0.006582999834790826,
1300
+ 0.011332999914884567,
1301
+ 0.006583999842405319,
1302
+ 0.008040999993681908,
1303
+ 0.006917000049725175,
1304
+ 0.021124999970197678,
1305
+ 0.00750000006519258
1306
+ ]
1307
+ },
1308
+ "screenshot_ms": 273.40291699999943,
1309
+ "snapshot_ms": 4388.93137500016
1310
+ },
1311
+ {
1312
+ "mode": "full",
1313
+ "warmup": true,
1314
+ "success": true,
1315
+ "total_ms": 89031.10066700005,
1316
+ "componentTimes": {
1317
+ "pre_observation_ms": [
1318
+ 2718.6970840001013
1319
+ ],
1320
+ "dispatch_ms": [
1321
+ 34966.002501000185
1322
+ ],
1323
+ "post_observation_ms": [
1324
+ 2666.4855000001844
1325
+ ],
1326
+ "serialization_ms": [
1327
+ 0.30891500040888786
1328
+ ],
1329
+ "target_resolution_ms": [
1330
+ 15844.323873999761
1331
+ ]
1332
+ },
1333
+ "screenshot_ms": 272.8050829998683,
1334
+ "snapshot_ms": 4411.02570899995
1335
+ },
1336
+ {
1337
+ "mode": "full",
1338
+ "warmup": true,
1339
+ "success": true,
1340
+ "total_ms": 88436.78425000003,
1341
+ "componentTimes": {
1342
+ "pre_observation_ms": [
1343
+ 2893.7569170000497
1344
+ ],
1345
+ "dispatch_ms": [
1346
+ 34140.422583000036
1347
+ ],
1348
+ "post_observation_ms": [
1349
+ 2731.4842920000665
1350
+ ],
1351
+ "serialization_ms": [
1352
+ 0.24554099957458675
1353
+ ],
1354
+ "target_resolution_ms": [
1355
+ 15916.868207999738
1356
+ ]
1357
+ },
1358
+ "screenshot_ms": 312.53062499989755,
1359
+ "snapshot_ms": 4428.5440839999355
1360
+ },
1361
+ {
1362
+ "mode": "full",
1363
+ "warmup": true,
1364
+ "success": true,
1365
+ "total_ms": 87118.6919170001,
1366
+ "componentTimes": {
1367
+ "pre_observation_ms": [
1368
+ 2785.8237499999814
1369
+ ],
1370
+ "dispatch_ms": [
1371
+ 33647.73762399983
1372
+ ],
1373
+ "post_observation_ms": [
1374
+ 2771.8590839998797
1375
+ ],
1376
+ "serialization_ms": [
1377
+ 0.2858330002054572
1378
+ ],
1379
+ "target_resolution_ms": [
1380
+ 15719.418125999626
1381
+ ]
1382
+ },
1383
+ "screenshot_ms": 280.28033400001004,
1384
+ "snapshot_ms": 4347.3091249999125
1385
+ },
1386
+ {
1387
+ "mode": "full",
1388
+ "warmup": false,
1389
+ "success": true,
1390
+ "total_ms": 87247.31983299996,
1391
+ "componentTimes": {
1392
+ "pre_observation_ms": [
1393
+ 2693.438749999972
1394
+ ],
1395
+ "dispatch_ms": [
1396
+ 33750.00374900014
1397
+ ],
1398
+ "post_observation_ms": [
1399
+ 2680.378792000003
1400
+ ],
1401
+ "serialization_ms": [
1402
+ 0.3359169999603182
1403
+ ],
1404
+ "target_resolution_ms": [
1405
+ 15785.434500000207
1406
+ ]
1407
+ },
1408
+ "screenshot_ms": 299.35754100000486,
1409
+ "snapshot_ms": 4508.338875000132
1410
+ },
1411
+ {
1412
+ "mode": "full",
1413
+ "warmup": false,
1414
+ "success": true,
1415
+ "total_ms": 87238.66704200022,
1416
+ "componentTimes": {
1417
+ "pre_observation_ms": [
1418
+ 2750.798290999839
1419
+ ],
1420
+ "dispatch_ms": [
1421
+ 33813.343375999946
1422
+ ],
1423
+ "post_observation_ms": [
1424
+ 2692.197459000163
1425
+ ],
1426
+ "serialization_ms": [
1427
+ 0.8089169994927943
1428
+ ],
1429
+ "target_resolution_ms": [
1430
+ 15745.848167000804
1431
+ ]
1432
+ },
1433
+ "screenshot_ms": 289.3561669997871,
1434
+ "snapshot_ms": 4383.988166000228
1435
+ },
1436
+ {
1437
+ "mode": "full",
1438
+ "warmup": false,
1439
+ "success": true,
1440
+ "total_ms": 87262.29954100028,
1441
+ "componentTimes": {
1442
+ "pre_observation_ms": [
1443
+ 2655.941250000149
1444
+ ],
1445
+ "dispatch_ms": [
1446
+ 33887.63058399921
1447
+ ],
1448
+ "post_observation_ms": [
1449
+ 2660.743333000224
1450
+ ],
1451
+ "serialization_ms": [
1452
+ 0.34608300030231476
1453
+ ],
1454
+ "target_resolution_ms": [
1455
+ 15696.016875999514
1456
+ ]
1457
+ },
1458
+ "screenshot_ms": 292.56079200003296,
1459
+ "snapshot_ms": 4367.085624999832
1460
+ },
1461
+ {
1462
+ "mode": "full",
1463
+ "warmup": false,
1464
+ "success": true,
1465
+ "total_ms": 88048.8507079999,
1466
+ "componentTimes": {
1467
+ "pre_observation_ms": [
1468
+ 2665.878250000067
1469
+ ],
1470
+ "dispatch_ms": [
1471
+ 34181.61758200126
1472
+ ],
1473
+ "post_observation_ms": [
1474
+ 2694.4919169996865
1475
+ ],
1476
+ "serialization_ms": [
1477
+ 0.31770800007507205
1478
+ ],
1479
+ "target_resolution_ms": [
1480
+ 15806.786958000157
1481
+ ]
1482
+ },
1483
+ "screenshot_ms": 235.04666700027883,
1484
+ "snapshot_ms": 4208.646832999773
1485
+ },
1486
+ {
1487
+ "mode": "full",
1488
+ "warmup": false,
1489
+ "success": true,
1490
+ "total_ms": 88067.6383750001,
1491
+ "componentTimes": {
1492
+ "pre_observation_ms": [
1493
+ 2721.2251250003465
1494
+ ],
1495
+ "dispatch_ms": [
1496
+ 34306.386916000396
1497
+ ],
1498
+ "post_observation_ms": [
1499
+ 2704.292958999984
1500
+ ],
1501
+ "serialization_ms": [
1502
+ 0.23075099987909198
1503
+ ],
1504
+ "target_resolution_ms": [
1505
+ 15798.530416999944
1506
+ ]
1507
+ },
1508
+ "screenshot_ms": 246.44658300001174,
1509
+ "snapshot_ms": 4435.1603330001235
1510
+ },
1511
+ {
1512
+ "mode": "full",
1513
+ "warmup": false,
1514
+ "success": true,
1515
+ "total_ms": 87126.42908299994,
1516
+ "componentTimes": {
1517
+ "pre_observation_ms": [
1518
+ 2648.1976659996435
1519
+ ],
1520
+ "dispatch_ms": [
1521
+ 33684.17470700061
1522
+ ],
1523
+ "post_observation_ms": [
1524
+ 2817.8662499999627
1525
+ ],
1526
+ "serialization_ms": [
1527
+ 0.3867069995030761
1528
+ ],
1529
+ "target_resolution_ms": [
1530
+ 15823.813832999673
1531
+ ]
1532
+ },
1533
+ "screenshot_ms": 280.87308300007135,
1534
+ "snapshot_ms": 4355.592999999877
1535
+ },
1536
+ {
1537
+ "mode": "full",
1538
+ "warmup": false,
1539
+ "success": true,
1540
+ "total_ms": 87110.95208400022,
1541
+ "componentTimes": {
1542
+ "pre_observation_ms": [
1543
+ 2737.831125000026
1544
+ ],
1545
+ "dispatch_ms": [
1546
+ 33645.024540999904
1547
+ ],
1548
+ "post_observation_ms": [
1549
+ 2658.4575420003384
1550
+ ],
1551
+ "serialization_ms": [
1552
+ 0.28754099924117327
1553
+ ],
1554
+ "target_resolution_ms": [
1555
+ 15806.64741700003
1556
+ ]
1557
+ },
1558
+ "screenshot_ms": 340.20200000004843,
1559
+ "snapshot_ms": 4354.555999999866
1560
+ },
1561
+ {
1562
+ "mode": "full",
1563
+ "warmup": false,
1564
+ "success": true,
1565
+ "total_ms": 87371.77554100007,
1566
+ "componentTimes": {
1567
+ "pre_observation_ms": [
1568
+ 2733.97116599977
1569
+ ],
1570
+ "dispatch_ms": [
1571
+ 33805.089500999544
1572
+ ],
1573
+ "post_observation_ms": [
1574
+ 2655.047332999762
1575
+ ],
1576
+ "serialization_ms": [
1577
+ 0.33091700077056885
1578
+ ],
1579
+ "target_resolution_ms": [
1580
+ 15733.29325099988
1581
+ ]
1582
+ },
1583
+ "screenshot_ms": 286.4720410001464,
1584
+ "snapshot_ms": 4512.603458999656
1585
+ },
1586
+ {
1587
+ "mode": "full",
1588
+ "warmup": false,
1589
+ "success": true,
1590
+ "total_ms": 87811.74937500013,
1591
+ "componentTimes": {
1592
+ "pre_observation_ms": [
1593
+ 2731.88512500003
1594
+ ],
1595
+ "dispatch_ms": [
1596
+ 34060.283792000264
1597
+ ],
1598
+ "post_observation_ms": [
1599
+ 2691.9071249999106
1600
+ ],
1601
+ "serialization_ms": [
1602
+ 0.27804100001230836
1603
+ ],
1604
+ "target_resolution_ms": [
1605
+ 15764.895750999916
1606
+ ]
1607
+ },
1608
+ "screenshot_ms": 301.2273329999298,
1609
+ "snapshot_ms": 4406.654000000097
1610
+ },
1611
+ {
1612
+ "mode": "full",
1613
+ "warmup": false,
1614
+ "success": true,
1615
+ "total_ms": 87701.92279199976,
1616
+ "componentTimes": {
1617
+ "pre_observation_ms": [
1618
+ 2748.5287080002017
1619
+ ],
1620
+ "dispatch_ms": [
1621
+ 34087.290708000306
1622
+ ],
1623
+ "post_observation_ms": [
1624
+ 2677.3289580000564
1625
+ ],
1626
+ "serialization_ms": [
1627
+ 0.2615840001963079
1628
+ ],
1629
+ "target_resolution_ms": [
1630
+ 15724.408334000036
1631
+ ]
1632
+ },
1633
+ "screenshot_ms": 291.3560830000788,
1634
+ "snapshot_ms": 4408.143625000026
1635
+ },
1636
+ {
1637
+ "mode": "light",
1638
+ "warmup": true,
1639
+ "success": true,
1640
+ "total_ms": 52267.51758300001,
1641
+ "componentTimes": {
1642
+ "serialization_ms": [
1643
+ 0.1290000006556511
1644
+ ]
1645
+ },
1646
+ "screenshot_ms": 307.82062500016764,
1647
+ "snapshot_ms": 4316.51870799996
1648
+ },
1649
+ {
1650
+ "mode": "light",
1651
+ "warmup": true,
1652
+ "success": true,
1653
+ "total_ms": 52048.048084000126,
1654
+ "componentTimes": {
1655
+ "serialization_ms": [
1656
+ 0.1533360006287694
1657
+ ]
1658
+ },
1659
+ "screenshot_ms": 303.6981249996461,
1660
+ "snapshot_ms": 4389.271042000037
1661
+ },
1662
+ {
1663
+ "mode": "light",
1664
+ "warmup": true,
1665
+ "success": true,
1666
+ "total_ms": 52569.3066250002,
1667
+ "componentTimes": {
1668
+ "serialization_ms": [
1669
+ 0.17329199984669685
1670
+ ]
1671
+ },
1672
+ "screenshot_ms": 302.577959000133,
1673
+ "snapshot_ms": 4530.902916999999
1674
+ },
1675
+ {
1676
+ "mode": "light",
1677
+ "warmup": false,
1678
+ "success": true,
1679
+ "total_ms": 52435.72379199974,
1680
+ "componentTimes": {
1681
+ "serialization_ms": [
1682
+ 0.12412499962374568
1683
+ ]
1684
+ },
1685
+ "screenshot_ms": 307.91683299979195,
1686
+ "snapshot_ms": 4439.145916000009
1687
+ },
1688
+ {
1689
+ "mode": "light",
1690
+ "warmup": false,
1691
+ "success": true,
1692
+ "total_ms": 53873.19891700009,
1693
+ "componentTimes": {
1694
+ "serialization_ms": [
1695
+ 0.1757490006275475
1696
+ ]
1697
+ },
1698
+ "screenshot_ms": 297.63908400014043,
1699
+ "snapshot_ms": 4243.79075000016
1700
+ },
1701
+ {
1702
+ "mode": "light",
1703
+ "warmup": false,
1704
+ "success": true,
1705
+ "total_ms": 51723.30162499985,
1706
+ "componentTimes": {
1707
+ "serialization_ms": [
1708
+ 0.10204299865290523
1709
+ ]
1710
+ },
1711
+ "screenshot_ms": 298.09058399964124,
1712
+ "snapshot_ms": 4325.393459000159
1713
+ },
1714
+ {
1715
+ "mode": "light",
1716
+ "warmup": false,
1717
+ "success": true,
1718
+ "total_ms": 51662.56112499954,
1719
+ "componentTimes": {
1720
+ "serialization_ms": [
1721
+ 0.16320900013670325
1722
+ ]
1723
+ },
1724
+ "screenshot_ms": 579.2504579997621,
1725
+ "snapshot_ms": 4214.047791999765
1726
+ },
1727
+ {
1728
+ "mode": "light",
1729
+ "warmup": false,
1730
+ "success": true,
1731
+ "total_ms": 52640.393999999855,
1732
+ "componentTimes": {
1733
+ "serialization_ms": [
1734
+ 0.12470899941399693
1735
+ ]
1736
+ },
1737
+ "screenshot_ms": 304.90883299987763,
1738
+ "snapshot_ms": 4287.541500000283
1739
+ },
1740
+ {
1741
+ "mode": "light",
1742
+ "warmup": false,
1743
+ "success": true,
1744
+ "total_ms": 51462.841250000056,
1745
+ "componentTimes": {
1746
+ "serialization_ms": [
1747
+ 0.10958299972116947
1748
+ ]
1749
+ },
1750
+ "screenshot_ms": 304.85591599997133,
1751
+ "snapshot_ms": 4366.505957999732
1752
+ },
1753
+ {
1754
+ "mode": "light",
1755
+ "warmup": false,
1756
+ "success": true,
1757
+ "total_ms": 51817.59008300025,
1758
+ "componentTimes": {
1759
+ "serialization_ms": [
1760
+ 0.08766599977388978
1761
+ ]
1762
+ },
1763
+ "screenshot_ms": 307.4632500000298,
1764
+ "snapshot_ms": 4347.651207999792
1765
+ },
1766
+ {
1767
+ "mode": "light",
1768
+ "warmup": false,
1769
+ "success": true,
1770
+ "total_ms": 51769.21824999992,
1771
+ "componentTimes": {
1772
+ "serialization_ms": [
1773
+ 0.10712499916553497
1774
+ ]
1775
+ },
1776
+ "screenshot_ms": 294.2176660001278,
1777
+ "snapshot_ms": 4328.679874999914
1778
+ },
1779
+ {
1780
+ "mode": "light",
1781
+ "warmup": false,
1782
+ "success": true,
1783
+ "total_ms": 52186.81079200003,
1784
+ "componentTimes": {
1785
+ "serialization_ms": [
1786
+ 0.12124999985098839
1787
+ ]
1788
+ },
1789
+ "screenshot_ms": 287.56820799969137,
1790
+ "snapshot_ms": 4360.812875000294
1791
+ },
1792
+ {
1793
+ "mode": "light",
1794
+ "warmup": false,
1795
+ "success": true,
1796
+ "total_ms": 52354.621999999974,
1797
+ "componentTimes": {
1798
+ "serialization_ms": [
1799
+ 0.12383299972862005
1800
+ ]
1801
+ },
1802
+ "screenshot_ms": 281.5155420000665,
1803
+ "snapshot_ms": 4256.134750000201
1804
+ }
1805
+ ],
1806
+ "gates": {
1807
+ "full_p95": true,
1808
+ "light_p50": true
1809
+ }
1810
+ }