doc-detective-common 4.0.0-beta.0-dev.7 → 4.0.0-beta.0-dev.8

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 (45) hide show
  1. package/dist/detectTests.d.ts +17 -22
  2. package/dist/detectTests.d.ts.map +1 -1
  3. package/dist/detectTests.js +81 -4
  4. package/dist/detectTests.js.map +1 -1
  5. package/dist/fileTypes.d.ts +35 -0
  6. package/dist/fileTypes.d.ts.map +1 -0
  7. package/dist/fileTypes.js +293 -0
  8. package/dist/fileTypes.js.map +1 -0
  9. package/dist/index.cjs +7288 -162
  10. package/dist/index.d.cts +2 -1
  11. package/dist/index.d.ts +2 -1
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +1 -0
  14. package/dist/index.js.map +1 -1
  15. package/dist/schemas/schemas.json +6786 -0
  16. package/dist/types/generated/step_v3.d.ts +288 -0
  17. package/dist/types/generated/step_v3.d.ts.map +1 -1
  18. package/dist/types/generated/test_v3.d.ts +576 -0
  19. package/dist/types/generated/test_v3.d.ts.map +1 -1
  20. package/package.json +4 -3
  21. package/dist/schemas/checkLink_v3.schema.json +0 -145
  22. package/dist/schemas/click_v3.schema.json +0 -252
  23. package/dist/schemas/config_v3.schema.json +0 -16470
  24. package/dist/schemas/context_v3.schema.json +0 -374
  25. package/dist/schemas/dragAndDrop_v3.schema.json +0 -496
  26. package/dist/schemas/find_v3.schema.json +0 -1349
  27. package/dist/schemas/goTo_v3.schema.json +0 -419
  28. package/dist/schemas/httpRequest_v3.schema.json +0 -994
  29. package/dist/schemas/loadCookie_v3.schema.json +0 -228
  30. package/dist/schemas/loadVariables_v3.schema.json +0 -9
  31. package/dist/schemas/openApi_v3.schema.json +0 -162
  32. package/dist/schemas/record_v3.schema.json +0 -101
  33. package/dist/schemas/report_v3.schema.json +0 -16826
  34. package/dist/schemas/resolvedTests_v3.schema.json +0 -33331
  35. package/dist/schemas/runCode_v3.schema.json +0 -222
  36. package/dist/schemas/runShell_v3.schema.json +0 -236
  37. package/dist/schemas/saveCookie_v3.schema.json +0 -245
  38. package/dist/schemas/screenshot_v3.schema.json +0 -681
  39. package/dist/schemas/sourceIntegration_v3.schema.json +0 -50
  40. package/dist/schemas/spec_v3.schema.json +0 -16630
  41. package/dist/schemas/step_v3.schema.json +0 -7317
  42. package/dist/schemas/stopRecord_v3.schema.json +0 -12
  43. package/dist/schemas/test_v3.schema.json +0 -15863
  44. package/dist/schemas/type_v3.schema.json +0 -244
  45. package/dist/schemas/wait_v3.schema.json +0 -41
@@ -1,1349 +0,0 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-07/schema#",
3
- "title": "find",
4
- "description": "Find an element based on display text or a selector, then optionally interact with it.",
5
- "anyOf": [
6
- {
7
- "title": "Find element (simple)",
8
- "type": "string",
9
- "description": "Identifier for the element to find. Can be a selector, element text, ARIA name, ID, or test ID."
10
- },
11
- {
12
- "title": "Find element (detailed)",
13
- "type": "object",
14
- "anyOf": [
15
- {
16
- "required": [
17
- "selector"
18
- ]
19
- },
20
- {
21
- "required": [
22
- "elementText"
23
- ]
24
- },
25
- {
26
- "required": [
27
- "elementId"
28
- ]
29
- },
30
- {
31
- "required": [
32
- "elementTestId"
33
- ]
34
- },
35
- {
36
- "required": [
37
- "elementClass"
38
- ]
39
- },
40
- {
41
- "required": [
42
- "elementAttribute"
43
- ]
44
- },
45
- {
46
- "required": [
47
- "elementAria"
48
- ]
49
- }
50
- ],
51
- "additionalProperties": false,
52
- "properties": {
53
- "elementText": {
54
- "type": "string",
55
- "description": "Display text of the element to find. If combined with other element finding fields, the element must match all specified criteria."
56
- },
57
- "selector": {
58
- "type": "string",
59
- "description": "Selector of the element to find. If combined with other element finding fields, the element must match all specified criteria."
60
- },
61
- "elementId": {
62
- "type": "string",
63
- "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
64
- },
65
- "elementTestId": {
66
- "type": "string",
67
- "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
68
- },
69
- "elementClass": {
70
- "anyOf": [
71
- {
72
- "type": "string"
73
- },
74
- {
75
- "type": "array",
76
- "items": {
77
- "type": "string"
78
- }
79
- }
80
- ],
81
- "description": "Class or array of classes that the element must have. Each class supports exact match or regex pattern using /pattern/ syntax. Element must have all specified classes."
82
- },
83
- "elementAttribute": {
84
- "type": "object",
85
- "description": "Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.",
86
- "additionalProperties": {
87
- "anyOf": [
88
- {
89
- "type": "string"
90
- },
91
- {
92
- "type": "number"
93
- },
94
- {
95
- "type": "boolean"
96
- }
97
- ]
98
- }
99
- },
100
- "elementAria": {
101
- "type": "string",
102
- "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
103
- },
104
- "timeout": {
105
- "type": "integer",
106
- "description": "Max duration in milliseconds to wait for the element to exist.",
107
- "default": 5000
108
- },
109
- "moveTo": {
110
- "description": "Move to the element. If the element isn't visible, it's scrolled into view.",
111
- "type": "boolean",
112
- "default": true
113
- },
114
- "click": {
115
- "description": "Click the element.",
116
- "anyOf": [
117
- {
118
- "$schema": "http://json-schema.org/draft-07/schema#",
119
- "title": "click",
120
- "description": "Click or tap an element.",
121
- "anyOf": [
122
- {
123
- "title": "Click element (simple)",
124
- "type": "string",
125
- "description": "Identifier for the element to click. Can be a selector, element text, ARIA name, ID, or test ID."
126
- },
127
- {
128
- "title": "Click element (detailed)",
129
- "type": "object",
130
- "anyOf": [
131
- {
132
- "required": [
133
- "selector"
134
- ]
135
- },
136
- {
137
- "required": [
138
- "elementText"
139
- ]
140
- },
141
- {
142
- "required": [
143
- "elementId"
144
- ]
145
- },
146
- {
147
- "required": [
148
- "elementTestId"
149
- ]
150
- },
151
- {
152
- "required": [
153
- "elementClass"
154
- ]
155
- },
156
- {
157
- "required": [
158
- "elementAttribute"
159
- ]
160
- },
161
- {
162
- "required": [
163
- "elementAria"
164
- ]
165
- }
166
- ],
167
- "properties": {
168
- "button": {
169
- "description": "Kind of click to perform.",
170
- "type": "string",
171
- "enum": [
172
- "left",
173
- "right",
174
- "middle"
175
- ]
176
- },
177
- "elementText": {
178
- "type": "string",
179
- "description": "Display text of the element to click. If combined with other element finding fields, the element must match all specified criteria."
180
- },
181
- "selector": {
182
- "type": "string",
183
- "description": "Selector of the element to click. If combined with other element finding fields, the element must match all specified criteria."
184
- },
185
- "elementId": {
186
- "type": "string",
187
- "description": "ID attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
188
- },
189
- "elementTestId": {
190
- "type": "string",
191
- "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
192
- },
193
- "elementClass": {
194
- "anyOf": [
195
- {
196
- "type": "string"
197
- },
198
- {
199
- "type": "array",
200
- "items": {
201
- "type": "string"
202
- }
203
- }
204
- ],
205
- "description": "Class or array of classes that the element must have. Each class supports exact match or regex pattern using /pattern/ syntax. Element must have all specified classes."
206
- },
207
- "elementAttribute": {
208
- "type": "object",
209
- "description": "Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.",
210
- "additionalProperties": {
211
- "anyOf": [
212
- {
213
- "type": "string"
214
- },
215
- {
216
- "type": "number"
217
- },
218
- {
219
- "type": "boolean"
220
- }
221
- ]
222
- }
223
- },
224
- "elementAria": {
225
- "type": "string",
226
- "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
227
- }
228
- }
229
- },
230
- {
231
- "type": "boolean"
232
- }
233
- ],
234
- "components": {
235
- "schemas": {
236
- "string": {
237
- "title": "Click element (simple)",
238
- "type": "string",
239
- "description": "Identifier for the element to click. Can be a selector, element text, ARIA name, ID, or test ID."
240
- },
241
- "button": {
242
- "description": "Kind of click to perform.",
243
- "type": "string",
244
- "enum": [
245
- "left",
246
- "right",
247
- "middle"
248
- ]
249
- },
250
- "object": {
251
- "title": "Click element (detailed)",
252
- "type": "object",
253
- "anyOf": [
254
- {
255
- "required": [
256
- "selector"
257
- ]
258
- },
259
- {
260
- "required": [
261
- "elementText"
262
- ]
263
- },
264
- {
265
- "required": [
266
- "elementId"
267
- ]
268
- },
269
- {
270
- "required": [
271
- "elementTestId"
272
- ]
273
- },
274
- {
275
- "required": [
276
- "elementClass"
277
- ]
278
- },
279
- {
280
- "required": [
281
- "elementAttribute"
282
- ]
283
- },
284
- {
285
- "required": [
286
- "elementAria"
287
- ]
288
- }
289
- ],
290
- "properties": {
291
- "button": {
292
- "description": "Kind of click to perform.",
293
- "type": "string",
294
- "enum": [
295
- "left",
296
- "right",
297
- "middle"
298
- ]
299
- },
300
- "elementText": {
301
- "type": "string",
302
- "description": "Display text of the element to click. If combined with other element finding fields, the element must match all specified criteria."
303
- },
304
- "selector": {
305
- "type": "string",
306
- "description": "Selector of the element to click. If combined with other element finding fields, the element must match all specified criteria."
307
- },
308
- "elementId": {
309
- "type": "string",
310
- "description": "ID attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
311
- },
312
- "elementTestId": {
313
- "type": "string",
314
- "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
315
- },
316
- "elementClass": {
317
- "anyOf": [
318
- {
319
- "type": "string"
320
- },
321
- {
322
- "type": "array",
323
- "items": {
324
- "type": "string"
325
- }
326
- }
327
- ],
328
- "description": "Class or array of classes that the element must have. Each class supports exact match or regex pattern using /pattern/ syntax. Element must have all specified classes."
329
- },
330
- "elementAttribute": {
331
- "type": "object",
332
- "description": "Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.",
333
- "additionalProperties": {
334
- "anyOf": [
335
- {
336
- "type": "string"
337
- },
338
- {
339
- "type": "number"
340
- },
341
- {
342
- "type": "boolean"
343
- }
344
- ]
345
- }
346
- },
347
- "elementAria": {
348
- "type": "string",
349
- "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
350
- }
351
- }
352
- }
353
- }
354
- },
355
- "examples": [
356
- true,
357
- "Submit",
358
- {
359
- "button": "left",
360
- "elementText": "Element text"
361
- },
362
- {
363
- "selector": "#elementToScreenshot",
364
- "elementText": "Element text",
365
- "button": "middle"
366
- }
367
- ]
368
- },
369
- {
370
- "type": "object",
371
- "properties": {
372
- "button": {
373
- "description": "Kind of click to perform.",
374
- "type": "string",
375
- "enum": [
376
- "left",
377
- "right",
378
- "middle"
379
- ]
380
- }
381
- },
382
- "title": "Find element and click"
383
- }
384
- ]
385
- },
386
- "type": {
387
- "description": "Type keys after finding the element. Either a string or an object with a `keys` field as defined in [`type`](type). To type in the element, make the element active with the `click` parameter.",
388
- "allOf": [
389
- {
390
- "$schema": "http://json-schema.org/draft-07/schema#",
391
- "title": "typeKeys",
392
- "description": "Type keys. To type special keys, begin and end the string with `$` and use the special key's keyword. For example, to type the Escape key, enter `$ESCAPE$`.",
393
- "anyOf": [
394
- {
395
- "title": "Type keys (simple)",
396
- "description": "Sequence of keys to enter.",
397
- "anyOf": [
398
- {
399
- "type": "string"
400
- },
401
- {
402
- "type": "array",
403
- "items": {
404
- "anyOf": [
405
- {
406
- "type": "string"
407
- }
408
- ]
409
- }
410
- }
411
- ]
412
- },
413
- {
414
- "title": "Type keys (detailed)",
415
- "type": "object",
416
- "properties": {
417
- "keys": {
418
- "title": "Type keys (simple)",
419
- "description": "Sequence of keys to enter.",
420
- "anyOf": [
421
- {
422
- "type": "string"
423
- },
424
- {
425
- "type": "array",
426
- "items": {
427
- "anyOf": [
428
- {
429
- "type": "string"
430
- }
431
- ]
432
- }
433
- }
434
- ]
435
- },
436
- "inputDelay": {
437
- "type": "number",
438
- "description": "Delay in milliseconds between each key press during a recording",
439
- "default": 100
440
- },
441
- "selector": {
442
- "type": "string",
443
- "description": "Selector for the element to type into. If not specified, the typing occurs in the active element."
444
- },
445
- "elementText": {
446
- "type": "string",
447
- "description": "Display text of the element to type into. If combined with other element finding fields, the element must match all specified criteria."
448
- },
449
- "elementId": {
450
- "type": "string",
451
- "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
452
- },
453
- "elementTestId": {
454
- "type": "string",
455
- "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
456
- },
457
- "elementClass": {
458
- "anyOf": [
459
- {
460
- "type": "string"
461
- },
462
- {
463
- "type": "array",
464
- "items": {
465
- "type": "string"
466
- }
467
- }
468
- ],
469
- "description": "Class or array of classes that the element must have. Each class supports exact match or regex pattern using /pattern/ syntax. Element must have all specified classes."
470
- },
471
- "elementAttribute": {
472
- "type": "object",
473
- "description": "Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.",
474
- "additionalProperties": {
475
- "anyOf": [
476
- {
477
- "type": "string"
478
- },
479
- {
480
- "type": "number"
481
- },
482
- {
483
- "type": "boolean"
484
- }
485
- ]
486
- }
487
- },
488
- "elementAria": {
489
- "type": "string",
490
- "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
491
- }
492
- },
493
- "required": [
494
- "keys"
495
- ],
496
- "additionalProperties": false
497
- }
498
- ],
499
- "components": {
500
- "schemas": {
501
- "keys": {
502
- "title": "Type keys (simple)",
503
- "description": "Sequence of keys to enter.",
504
- "anyOf": [
505
- {
506
- "type": "string"
507
- },
508
- {
509
- "type": "array",
510
- "items": {
511
- "anyOf": [
512
- {
513
- "type": "string"
514
- }
515
- ]
516
- }
517
- }
518
- ]
519
- },
520
- "object": {
521
- "title": "Type keys (detailed)",
522
- "type": "object",
523
- "properties": {
524
- "keys": {
525
- "title": "Type keys (simple)",
526
- "description": "Sequence of keys to enter.",
527
- "anyOf": [
528
- {
529
- "type": "string"
530
- },
531
- {
532
- "type": "array",
533
- "items": {
534
- "anyOf": [
535
- {
536
- "type": "string"
537
- }
538
- ]
539
- }
540
- }
541
- ]
542
- },
543
- "inputDelay": {
544
- "type": "number",
545
- "description": "Delay in milliseconds between each key press during a recording",
546
- "default": 100
547
- },
548
- "selector": {
549
- "type": "string",
550
- "description": "Selector for the element to type into. If not specified, the typing occurs in the active element."
551
- },
552
- "elementText": {
553
- "type": "string",
554
- "description": "Display text of the element to type into. If combined with other element finding fields, the element must match all specified criteria."
555
- },
556
- "elementId": {
557
- "type": "string",
558
- "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
559
- },
560
- "elementTestId": {
561
- "type": "string",
562
- "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
563
- },
564
- "elementClass": {
565
- "anyOf": [
566
- {
567
- "type": "string"
568
- },
569
- {
570
- "type": "array",
571
- "items": {
572
- "type": "string"
573
- }
574
- }
575
- ],
576
- "description": "Class or array of classes that the element must have. Each class supports exact match or regex pattern using /pattern/ syntax. Element must have all specified classes."
577
- },
578
- "elementAttribute": {
579
- "type": "object",
580
- "description": "Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.",
581
- "additionalProperties": {
582
- "anyOf": [
583
- {
584
- "type": "string"
585
- },
586
- {
587
- "type": "number"
588
- },
589
- {
590
- "type": "boolean"
591
- }
592
- ]
593
- }
594
- },
595
- "elementAria": {
596
- "type": "string",
597
- "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
598
- }
599
- },
600
- "required": [
601
- "keys"
602
- ],
603
- "additionalProperties": false
604
- }
605
- }
606
- },
607
- "examples": [
608
- "kittens",
609
- [
610
- "$ENTER$"
611
- ],
612
- [
613
- "kittens",
614
- "$ENTER$"
615
- ],
616
- {
617
- "keys": "kittens"
618
- },
619
- {
620
- "keys": [
621
- "$ENTER$"
622
- ]
623
- },
624
- {
625
- "keys": [
626
- "kittens",
627
- "$ENTER$"
628
- ],
629
- "inputDelay": 500
630
- }
631
- ]
632
- },
633
- {
634
- "not": {
635
- "type": "object",
636
- "required": [
637
- "selector",
638
- "elementText",
639
- "elementId",
640
- "elementTestId",
641
- "elementClass",
642
- "elementAttribute",
643
- "elementAria"
644
- ],
645
- "title": "Find element and type"
646
- }
647
- }
648
- ]
649
- }
650
- }
651
- }
652
- ],
653
- "components": {
654
- "schemas": {
655
- "string": {
656
- "title": "Find element (simple)",
657
- "type": "string",
658
- "description": "Identifier for the element to find. Can be a selector, element text, ARIA name, ID, or test ID."
659
- },
660
- "object": {
661
- "title": "Find element (detailed)",
662
- "type": "object",
663
- "anyOf": [
664
- {
665
- "required": [
666
- "selector"
667
- ]
668
- },
669
- {
670
- "required": [
671
- "elementText"
672
- ]
673
- },
674
- {
675
- "required": [
676
- "elementId"
677
- ]
678
- },
679
- {
680
- "required": [
681
- "elementTestId"
682
- ]
683
- },
684
- {
685
- "required": [
686
- "elementClass"
687
- ]
688
- },
689
- {
690
- "required": [
691
- "elementAttribute"
692
- ]
693
- },
694
- {
695
- "required": [
696
- "elementAria"
697
- ]
698
- }
699
- ],
700
- "additionalProperties": false,
701
- "properties": {
702
- "elementText": {
703
- "type": "string",
704
- "description": "Display text of the element to find. If combined with other element finding fields, the element must match all specified criteria."
705
- },
706
- "selector": {
707
- "type": "string",
708
- "description": "Selector of the element to find. If combined with other element finding fields, the element must match all specified criteria."
709
- },
710
- "elementId": {
711
- "type": "string",
712
- "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
713
- },
714
- "elementTestId": {
715
- "type": "string",
716
- "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
717
- },
718
- "elementClass": {
719
- "anyOf": [
720
- {
721
- "type": "string"
722
- },
723
- {
724
- "type": "array",
725
- "items": {
726
- "type": "string"
727
- }
728
- }
729
- ],
730
- "description": "Class or array of classes that the element must have. Each class supports exact match or regex pattern using /pattern/ syntax. Element must have all specified classes."
731
- },
732
- "elementAttribute": {
733
- "type": "object",
734
- "description": "Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.",
735
- "additionalProperties": {
736
- "anyOf": [
737
- {
738
- "type": "string"
739
- },
740
- {
741
- "type": "number"
742
- },
743
- {
744
- "type": "boolean"
745
- }
746
- ]
747
- }
748
- },
749
- "elementAria": {
750
- "type": "string",
751
- "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
752
- },
753
- "timeout": {
754
- "type": "integer",
755
- "description": "Max duration in milliseconds to wait for the element to exist.",
756
- "default": 5000
757
- },
758
- "moveTo": {
759
- "description": "Move to the element. If the element isn't visible, it's scrolled into view.",
760
- "type": "boolean",
761
- "default": true
762
- },
763
- "click": {
764
- "description": "Click the element.",
765
- "anyOf": [
766
- {
767
- "$schema": "http://json-schema.org/draft-07/schema#",
768
- "title": "click",
769
- "description": "Click or tap an element.",
770
- "anyOf": [
771
- {
772
- "title": "Click element (simple)",
773
- "type": "string",
774
- "description": "Identifier for the element to click. Can be a selector, element text, ARIA name, ID, or test ID."
775
- },
776
- {
777
- "title": "Click element (detailed)",
778
- "type": "object",
779
- "anyOf": [
780
- {
781
- "required": [
782
- "selector"
783
- ]
784
- },
785
- {
786
- "required": [
787
- "elementText"
788
- ]
789
- },
790
- {
791
- "required": [
792
- "elementId"
793
- ]
794
- },
795
- {
796
- "required": [
797
- "elementTestId"
798
- ]
799
- },
800
- {
801
- "required": [
802
- "elementClass"
803
- ]
804
- },
805
- {
806
- "required": [
807
- "elementAttribute"
808
- ]
809
- },
810
- {
811
- "required": [
812
- "elementAria"
813
- ]
814
- }
815
- ],
816
- "properties": {
817
- "button": {
818
- "description": "Kind of click to perform.",
819
- "type": "string",
820
- "enum": [
821
- "left",
822
- "right",
823
- "middle"
824
- ]
825
- },
826
- "elementText": {
827
- "type": "string",
828
- "description": "Display text of the element to click. If combined with other element finding fields, the element must match all specified criteria."
829
- },
830
- "selector": {
831
- "type": "string",
832
- "description": "Selector of the element to click. If combined with other element finding fields, the element must match all specified criteria."
833
- },
834
- "elementId": {
835
- "type": "string",
836
- "description": "ID attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
837
- },
838
- "elementTestId": {
839
- "type": "string",
840
- "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
841
- },
842
- "elementClass": {
843
- "anyOf": [
844
- {
845
- "type": "string"
846
- },
847
- {
848
- "type": "array",
849
- "items": {
850
- "type": "string"
851
- }
852
- }
853
- ],
854
- "description": "Class or array of classes that the element must have. Each class supports exact match or regex pattern using /pattern/ syntax. Element must have all specified classes."
855
- },
856
- "elementAttribute": {
857
- "type": "object",
858
- "description": "Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.",
859
- "additionalProperties": {
860
- "anyOf": [
861
- {
862
- "type": "string"
863
- },
864
- {
865
- "type": "number"
866
- },
867
- {
868
- "type": "boolean"
869
- }
870
- ]
871
- }
872
- },
873
- "elementAria": {
874
- "type": "string",
875
- "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
876
- }
877
- }
878
- },
879
- {
880
- "type": "boolean"
881
- }
882
- ],
883
- "components": {
884
- "schemas": {
885
- "string": {
886
- "title": "Click element (simple)",
887
- "type": "string",
888
- "description": "Identifier for the element to click. Can be a selector, element text, ARIA name, ID, or test ID."
889
- },
890
- "button": {
891
- "description": "Kind of click to perform.",
892
- "type": "string",
893
- "enum": [
894
- "left",
895
- "right",
896
- "middle"
897
- ]
898
- },
899
- "object": {
900
- "title": "Click element (detailed)",
901
- "type": "object",
902
- "anyOf": [
903
- {
904
- "required": [
905
- "selector"
906
- ]
907
- },
908
- {
909
- "required": [
910
- "elementText"
911
- ]
912
- },
913
- {
914
- "required": [
915
- "elementId"
916
- ]
917
- },
918
- {
919
- "required": [
920
- "elementTestId"
921
- ]
922
- },
923
- {
924
- "required": [
925
- "elementClass"
926
- ]
927
- },
928
- {
929
- "required": [
930
- "elementAttribute"
931
- ]
932
- },
933
- {
934
- "required": [
935
- "elementAria"
936
- ]
937
- }
938
- ],
939
- "properties": {
940
- "button": {
941
- "description": "Kind of click to perform.",
942
- "type": "string",
943
- "enum": [
944
- "left",
945
- "right",
946
- "middle"
947
- ]
948
- },
949
- "elementText": {
950
- "type": "string",
951
- "description": "Display text of the element to click. If combined with other element finding fields, the element must match all specified criteria."
952
- },
953
- "selector": {
954
- "type": "string",
955
- "description": "Selector of the element to click. If combined with other element finding fields, the element must match all specified criteria."
956
- },
957
- "elementId": {
958
- "type": "string",
959
- "description": "ID attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
960
- },
961
- "elementTestId": {
962
- "type": "string",
963
- "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
964
- },
965
- "elementClass": {
966
- "anyOf": [
967
- {
968
- "type": "string"
969
- },
970
- {
971
- "type": "array",
972
- "items": {
973
- "type": "string"
974
- }
975
- }
976
- ],
977
- "description": "Class or array of classes that the element must have. Each class supports exact match or regex pattern using /pattern/ syntax. Element must have all specified classes."
978
- },
979
- "elementAttribute": {
980
- "type": "object",
981
- "description": "Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.",
982
- "additionalProperties": {
983
- "anyOf": [
984
- {
985
- "type": "string"
986
- },
987
- {
988
- "type": "number"
989
- },
990
- {
991
- "type": "boolean"
992
- }
993
- ]
994
- }
995
- },
996
- "elementAria": {
997
- "type": "string",
998
- "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
999
- }
1000
- }
1001
- }
1002
- }
1003
- },
1004
- "examples": [
1005
- true,
1006
- "Submit",
1007
- {
1008
- "button": "left",
1009
- "elementText": "Element text"
1010
- },
1011
- {
1012
- "selector": "#elementToScreenshot",
1013
- "elementText": "Element text",
1014
- "button": "middle"
1015
- }
1016
- ]
1017
- },
1018
- {
1019
- "type": "object",
1020
- "properties": {
1021
- "button": {
1022
- "description": "Kind of click to perform.",
1023
- "type": "string",
1024
- "enum": [
1025
- "left",
1026
- "right",
1027
- "middle"
1028
- ]
1029
- }
1030
- },
1031
- "title": "Find element and click"
1032
- }
1033
- ]
1034
- },
1035
- "type": {
1036
- "description": "Type keys after finding the element. Either a string or an object with a `keys` field as defined in [`type`](type). To type in the element, make the element active with the `click` parameter.",
1037
- "allOf": [
1038
- {
1039
- "$schema": "http://json-schema.org/draft-07/schema#",
1040
- "title": "typeKeys",
1041
- "description": "Type keys. To type special keys, begin and end the string with `$` and use the special key's keyword. For example, to type the Escape key, enter `$ESCAPE$`.",
1042
- "anyOf": [
1043
- {
1044
- "title": "Type keys (simple)",
1045
- "description": "Sequence of keys to enter.",
1046
- "anyOf": [
1047
- {
1048
- "type": "string"
1049
- },
1050
- {
1051
- "type": "array",
1052
- "items": {
1053
- "anyOf": [
1054
- {
1055
- "type": "string"
1056
- }
1057
- ]
1058
- }
1059
- }
1060
- ]
1061
- },
1062
- {
1063
- "title": "Type keys (detailed)",
1064
- "type": "object",
1065
- "properties": {
1066
- "keys": {
1067
- "title": "Type keys (simple)",
1068
- "description": "Sequence of keys to enter.",
1069
- "anyOf": [
1070
- {
1071
- "type": "string"
1072
- },
1073
- {
1074
- "type": "array",
1075
- "items": {
1076
- "anyOf": [
1077
- {
1078
- "type": "string"
1079
- }
1080
- ]
1081
- }
1082
- }
1083
- ]
1084
- },
1085
- "inputDelay": {
1086
- "type": "number",
1087
- "description": "Delay in milliseconds between each key press during a recording",
1088
- "default": 100
1089
- },
1090
- "selector": {
1091
- "type": "string",
1092
- "description": "Selector for the element to type into. If not specified, the typing occurs in the active element."
1093
- },
1094
- "elementText": {
1095
- "type": "string",
1096
- "description": "Display text of the element to type into. If combined with other element finding fields, the element must match all specified criteria."
1097
- },
1098
- "elementId": {
1099
- "type": "string",
1100
- "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
1101
- },
1102
- "elementTestId": {
1103
- "type": "string",
1104
- "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
1105
- },
1106
- "elementClass": {
1107
- "anyOf": [
1108
- {
1109
- "type": "string"
1110
- },
1111
- {
1112
- "type": "array",
1113
- "items": {
1114
- "type": "string"
1115
- }
1116
- }
1117
- ],
1118
- "description": "Class or array of classes that the element must have. Each class supports exact match or regex pattern using /pattern/ syntax. Element must have all specified classes."
1119
- },
1120
- "elementAttribute": {
1121
- "type": "object",
1122
- "description": "Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.",
1123
- "additionalProperties": {
1124
- "anyOf": [
1125
- {
1126
- "type": "string"
1127
- },
1128
- {
1129
- "type": "number"
1130
- },
1131
- {
1132
- "type": "boolean"
1133
- }
1134
- ]
1135
- }
1136
- },
1137
- "elementAria": {
1138
- "type": "string",
1139
- "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
1140
- }
1141
- },
1142
- "required": [
1143
- "keys"
1144
- ],
1145
- "additionalProperties": false
1146
- }
1147
- ],
1148
- "components": {
1149
- "schemas": {
1150
- "keys": {
1151
- "title": "Type keys (simple)",
1152
- "description": "Sequence of keys to enter.",
1153
- "anyOf": [
1154
- {
1155
- "type": "string"
1156
- },
1157
- {
1158
- "type": "array",
1159
- "items": {
1160
- "anyOf": [
1161
- {
1162
- "type": "string"
1163
- }
1164
- ]
1165
- }
1166
- }
1167
- ]
1168
- },
1169
- "object": {
1170
- "title": "Type keys (detailed)",
1171
- "type": "object",
1172
- "properties": {
1173
- "keys": {
1174
- "title": "Type keys (simple)",
1175
- "description": "Sequence of keys to enter.",
1176
- "anyOf": [
1177
- {
1178
- "type": "string"
1179
- },
1180
- {
1181
- "type": "array",
1182
- "items": {
1183
- "anyOf": [
1184
- {
1185
- "type": "string"
1186
- }
1187
- ]
1188
- }
1189
- }
1190
- ]
1191
- },
1192
- "inputDelay": {
1193
- "type": "number",
1194
- "description": "Delay in milliseconds between each key press during a recording",
1195
- "default": 100
1196
- },
1197
- "selector": {
1198
- "type": "string",
1199
- "description": "Selector for the element to type into. If not specified, the typing occurs in the active element."
1200
- },
1201
- "elementText": {
1202
- "type": "string",
1203
- "description": "Display text of the element to type into. If combined with other element finding fields, the element must match all specified criteria."
1204
- },
1205
- "elementId": {
1206
- "type": "string",
1207
- "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
1208
- },
1209
- "elementTestId": {
1210
- "type": "string",
1211
- "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
1212
- },
1213
- "elementClass": {
1214
- "anyOf": [
1215
- {
1216
- "type": "string"
1217
- },
1218
- {
1219
- "type": "array",
1220
- "items": {
1221
- "type": "string"
1222
- }
1223
- }
1224
- ],
1225
- "description": "Class or array of classes that the element must have. Each class supports exact match or regex pattern using /pattern/ syntax. Element must have all specified classes."
1226
- },
1227
- "elementAttribute": {
1228
- "type": "object",
1229
- "description": "Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.",
1230
- "additionalProperties": {
1231
- "anyOf": [
1232
- {
1233
- "type": "string"
1234
- },
1235
- {
1236
- "type": "number"
1237
- },
1238
- {
1239
- "type": "boolean"
1240
- }
1241
- ]
1242
- }
1243
- },
1244
- "elementAria": {
1245
- "type": "string",
1246
- "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
1247
- }
1248
- },
1249
- "required": [
1250
- "keys"
1251
- ],
1252
- "additionalProperties": false
1253
- }
1254
- }
1255
- },
1256
- "examples": [
1257
- "kittens",
1258
- [
1259
- "$ENTER$"
1260
- ],
1261
- [
1262
- "kittens",
1263
- "$ENTER$"
1264
- ],
1265
- {
1266
- "keys": "kittens"
1267
- },
1268
- {
1269
- "keys": [
1270
- "$ENTER$"
1271
- ]
1272
- },
1273
- {
1274
- "keys": [
1275
- "kittens",
1276
- "$ENTER$"
1277
- ],
1278
- "inputDelay": 500
1279
- }
1280
- ]
1281
- },
1282
- {
1283
- "not": {
1284
- "type": "object",
1285
- "required": [
1286
- "selector",
1287
- "elementText",
1288
- "elementId",
1289
- "elementTestId",
1290
- "elementClass",
1291
- "elementAttribute",
1292
- "elementAria"
1293
- ],
1294
- "title": "Find element and type"
1295
- }
1296
- }
1297
- ]
1298
- }
1299
- }
1300
- }
1301
- }
1302
- },
1303
- "examples": [
1304
- "Find me!",
1305
- {
1306
- "selector": "[title=Search]"
1307
- },
1308
- {
1309
- "selector": "[title=Search]",
1310
- "timeout": 10000,
1311
- "elementText": "Search",
1312
- "moveTo": true,
1313
- "click": true,
1314
- "type": "shorthair cat"
1315
- },
1316
- {
1317
- "selector": "[title=Search]",
1318
- "click": {
1319
- "button": "right"
1320
- }
1321
- },
1322
- {
1323
- "selector": "[title=Search]",
1324
- "timeout": 10000,
1325
- "elementText": "Search",
1326
- "moveTo": true,
1327
- "click": true,
1328
- "type": {
1329
- "keys": [
1330
- "shorthair cat"
1331
- ],
1332
- "inputDelay": 100
1333
- }
1334
- },
1335
- {
1336
- "elementId": "/^user-[0-9]+$/",
1337
- "elementClass": [
1338
- "admin",
1339
- "/^level-[1-5]$/"
1340
- ],
1341
- "elementAttribute": {
1342
- "data-active": true,
1343
- "data-score": "/^[0-9]+$/"
1344
- },
1345
- "timeout": 8000,
1346
- "moveTo": false
1347
- }
1348
- ]
1349
- }