doc-detective-common 3.4.1-dev.3 → 3.4.1-dev.5

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 (52) hide show
  1. package/dist/schemas/checkLink_v3.schema.json +2 -2
  2. package/dist/schemas/click_v3.schema.json +4 -4
  3. package/dist/schemas/config_v3.schema.json +481 -123
  4. package/dist/schemas/find_v3.schema.json +41 -28
  5. package/dist/schemas/goTo_v3.schema.json +167 -1
  6. package/dist/schemas/httpRequest_v3.schema.json +2 -2
  7. package/dist/schemas/report_v3.schema.json +478 -120
  8. package/dist/schemas/resolvedTests_v3.schema.json +1003 -287
  9. package/dist/schemas/runCode_v3.schema.json +4 -4
  10. package/dist/schemas/runShell_v3.schema.json +4 -4
  11. package/dist/schemas/screenshot_v3.schema.json +6 -6
  12. package/dist/schemas/spec_v3.schema.json +478 -120
  13. package/dist/schemas/step_v3.schema.json +238 -59
  14. package/dist/schemas/test_v3.schema.json +477 -119
  15. package/dist/schemas/type_v3.schema.json +8 -8
  16. package/package.json +2 -2
  17. package/src/schemas/build/checkLink_v3.schema.json +1 -1
  18. package/src/schemas/build/click_v3.schema.json +2 -2
  19. package/src/schemas/build/find_v3.schema.json +15 -2
  20. package/src/schemas/build/httpRequest_v3.schema.json +1 -1
  21. package/src/schemas/build/runCode_v3.schema.json +2 -2
  22. package/src/schemas/build/runShell_v3.schema.json +2 -2
  23. package/src/schemas/build/screenshot_v3.schema.json +2 -2
  24. package/src/schemas/build/test_v3.schema.json +1 -1
  25. package/src/schemas/build/type_v3.schema.json +3 -3
  26. package/src/schemas/output_schemas/checkLink_v3.schema.json +2 -2
  27. package/src/schemas/output_schemas/click_v3.schema.json +4 -4
  28. package/src/schemas/output_schemas/config_v3.schema.json +481 -123
  29. package/src/schemas/output_schemas/find_v3.schema.json +41 -28
  30. package/src/schemas/output_schemas/goTo_v3.schema.json +167 -1
  31. package/src/schemas/output_schemas/httpRequest_v3.schema.json +2 -2
  32. package/src/schemas/output_schemas/report_v3.schema.json +478 -120
  33. package/src/schemas/output_schemas/resolvedTests_v3.schema.json +1003 -287
  34. package/src/schemas/output_schemas/runCode_v3.schema.json +4 -4
  35. package/src/schemas/output_schemas/runShell_v3.schema.json +4 -4
  36. package/src/schemas/output_schemas/screenshot_v3.schema.json +6 -6
  37. package/src/schemas/output_schemas/spec_v3.schema.json +478 -120
  38. package/src/schemas/output_schemas/step_v3.schema.json +238 -59
  39. package/src/schemas/output_schemas/test_v3.schema.json +477 -119
  40. package/src/schemas/output_schemas/type_v3.schema.json +8 -8
  41. package/src/schemas/schemas.json +3588 -1082
  42. package/src/schemas/src_schemas/checkLink_v3.schema.json +1 -1
  43. package/src/schemas/src_schemas/click_v3.schema.json +2 -2
  44. package/src/schemas/src_schemas/find_v3.schema.json +12 -2
  45. package/src/schemas/src_schemas/goTo_v3.schema.json +109 -14
  46. package/src/schemas/src_schemas/httpRequest_v3.schema.json +1 -1
  47. package/src/schemas/src_schemas/runCode_v3.schema.json +2 -2
  48. package/src/schemas/src_schemas/runShell_v3.schema.json +2 -2
  49. package/src/schemas/src_schemas/screenshot_v3.schema.json +2 -2
  50. package/src/schemas/src_schemas/test_v3.schema.json +1 -1
  51. package/src/schemas/src_schemas/type_v3.schema.json +3 -3
  52. package/src/schemas/build/goTo_v3.schema.json +0 -63
@@ -25,7 +25,7 @@
25
25
  "type": "array",
26
26
  "description": "Contexts to run the test in. Overrides contexts defined at the config and spec levels.",
27
27
  "items": {
28
- "oneOf": [
28
+ "anyOf": [
29
29
  {
30
30
  "$schema": "http://json-schema.org/draft-07/schema#",
31
31
  "title": "context",
@@ -826,7 +826,7 @@
826
826
  {
827
827
  "type": "array",
828
828
  "items": {
829
- "oneOf": [
829
+ "anyOf": [
830
830
  {
831
831
  "type": "integer"
832
832
  }
@@ -889,7 +889,7 @@
889
889
  {
890
890
  "type": "array",
891
891
  "items": {
892
- "oneOf": [
892
+ "anyOf": [
893
893
  {
894
894
  "type": "integer"
895
895
  }
@@ -1073,7 +1073,7 @@
1073
1073
  "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
1074
1074
  },
1075
1075
  "elementClass": {
1076
- "oneOf": [
1076
+ "anyOf": [
1077
1077
  {
1078
1078
  "type": "string"
1079
1079
  },
@@ -1090,7 +1090,7 @@
1090
1090
  "type": "object",
1091
1091
  "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.",
1092
1092
  "additionalProperties": {
1093
- "oneOf": [
1093
+ "anyOf": [
1094
1094
  {
1095
1095
  "type": "string"
1096
1096
  },
@@ -1196,7 +1196,7 @@
1196
1196
  "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
1197
1197
  },
1198
1198
  "elementClass": {
1199
- "oneOf": [
1199
+ "anyOf": [
1200
1200
  {
1201
1201
  "type": "string"
1202
1202
  },
@@ -1213,7 +1213,7 @@
1213
1213
  "type": "object",
1214
1214
  "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.",
1215
1215
  "additionalProperties": {
1216
- "oneOf": [
1216
+ "anyOf": [
1217
1217
  {
1218
1218
  "type": "string"
1219
1219
  },
@@ -1388,7 +1388,7 @@
1388
1388
  "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
1389
1389
  },
1390
1390
  "elementClass": {
1391
- "oneOf": [
1391
+ "anyOf": [
1392
1392
  {
1393
1393
  "type": "string"
1394
1394
  },
@@ -1405,7 +1405,7 @@
1405
1405
  "type": "object",
1406
1406
  "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.",
1407
1407
  "additionalProperties": {
1408
- "oneOf": [
1408
+ "anyOf": [
1409
1409
  {
1410
1410
  "type": "string"
1411
1411
  },
@@ -1512,7 +1512,7 @@
1512
1512
  "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
1513
1513
  },
1514
1514
  "elementClass": {
1515
- "oneOf": [
1515
+ "anyOf": [
1516
1516
  {
1517
1517
  "type": "string"
1518
1518
  },
@@ -1529,7 +1529,7 @@
1529
1529
  "type": "object",
1530
1530
  "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.",
1531
1531
  "additionalProperties": {
1532
- "oneOf": [
1532
+ "anyOf": [
1533
1533
  {
1534
1534
  "type": "string"
1535
1535
  },
@@ -1635,7 +1635,7 @@
1635
1635
  "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
1636
1636
  },
1637
1637
  "elementClass": {
1638
- "oneOf": [
1638
+ "anyOf": [
1639
1639
  {
1640
1640
  "type": "string"
1641
1641
  },
@@ -1652,7 +1652,7 @@
1652
1652
  "type": "object",
1653
1653
  "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.",
1654
1654
  "additionalProperties": {
1655
- "oneOf": [
1655
+ "anyOf": [
1656
1656
  {
1657
1657
  "type": "string"
1658
1658
  },
@@ -1722,7 +1722,7 @@
1722
1722
  {
1723
1723
  "type": "array",
1724
1724
  "items": {
1725
- "oneOf": [
1725
+ "anyOf": [
1726
1726
  {
1727
1727
  "type": "string"
1728
1728
  }
@@ -1745,7 +1745,7 @@
1745
1745
  {
1746
1746
  "type": "array",
1747
1747
  "items": {
1748
- "oneOf": [
1748
+ "anyOf": [
1749
1749
  {
1750
1750
  "type": "string"
1751
1751
  }
@@ -1776,7 +1776,7 @@
1776
1776
  "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
1777
1777
  },
1778
1778
  "elementClass": {
1779
- "oneOf": [
1779
+ "anyOf": [
1780
1780
  {
1781
1781
  "type": "string"
1782
1782
  },
@@ -1793,7 +1793,7 @@
1793
1793
  "type": "object",
1794
1794
  "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.",
1795
1795
  "additionalProperties": {
1796
- "oneOf": [
1796
+ "anyOf": [
1797
1797
  {
1798
1798
  "type": "string"
1799
1799
  },
@@ -1829,7 +1829,7 @@
1829
1829
  {
1830
1830
  "type": "array",
1831
1831
  "items": {
1832
- "oneOf": [
1832
+ "anyOf": [
1833
1833
  {
1834
1834
  "type": "string"
1835
1835
  }
@@ -1852,7 +1852,7 @@
1852
1852
  {
1853
1853
  "type": "array",
1854
1854
  "items": {
1855
- "oneOf": [
1855
+ "anyOf": [
1856
1856
  {
1857
1857
  "type": "string"
1858
1858
  }
@@ -1883,7 +1883,7 @@
1883
1883
  "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
1884
1884
  },
1885
1885
  "elementClass": {
1886
- "oneOf": [
1886
+ "anyOf": [
1887
1887
  {
1888
1888
  "type": "string"
1889
1889
  },
@@ -1900,7 +1900,7 @@
1900
1900
  "type": "object",
1901
1901
  "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.",
1902
1902
  "additionalProperties": {
1903
- "oneOf": [
1903
+ "anyOf": [
1904
1904
  {
1905
1905
  "type": "string"
1906
1906
  },
@@ -2037,7 +2037,7 @@
2037
2037
  "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
2038
2038
  },
2039
2039
  "elementClass": {
2040
- "oneOf": [
2040
+ "anyOf": [
2041
2041
  {
2042
2042
  "type": "string"
2043
2043
  },
@@ -2054,7 +2054,7 @@
2054
2054
  "type": "object",
2055
2055
  "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.",
2056
2056
  "additionalProperties": {
2057
- "oneOf": [
2057
+ "anyOf": [
2058
2058
  {
2059
2059
  "type": "string"
2060
2060
  },
@@ -2161,7 +2161,7 @@
2161
2161
  "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
2162
2162
  },
2163
2163
  "elementClass": {
2164
- "oneOf": [
2164
+ "anyOf": [
2165
2165
  {
2166
2166
  "type": "string"
2167
2167
  },
@@ -2178,7 +2178,7 @@
2178
2178
  "type": "object",
2179
2179
  "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.",
2180
2180
  "additionalProperties": {
2181
- "oneOf": [
2181
+ "anyOf": [
2182
2182
  {
2183
2183
  "type": "string"
2184
2184
  },
@@ -2284,7 +2284,7 @@
2284
2284
  "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
2285
2285
  },
2286
2286
  "elementClass": {
2287
- "oneOf": [
2287
+ "anyOf": [
2288
2288
  {
2289
2289
  "type": "string"
2290
2290
  },
@@ -2301,7 +2301,7 @@
2301
2301
  "type": "object",
2302
2302
  "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.",
2303
2303
  "additionalProperties": {
2304
- "oneOf": [
2304
+ "anyOf": [
2305
2305
  {
2306
2306
  "type": "string"
2307
2307
  },
@@ -2371,7 +2371,7 @@
2371
2371
  {
2372
2372
  "type": "array",
2373
2373
  "items": {
2374
- "oneOf": [
2374
+ "anyOf": [
2375
2375
  {
2376
2376
  "type": "string"
2377
2377
  }
@@ -2394,7 +2394,7 @@
2394
2394
  {
2395
2395
  "type": "array",
2396
2396
  "items": {
2397
- "oneOf": [
2397
+ "anyOf": [
2398
2398
  {
2399
2399
  "type": "string"
2400
2400
  }
@@ -2425,7 +2425,7 @@
2425
2425
  "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
2426
2426
  },
2427
2427
  "elementClass": {
2428
- "oneOf": [
2428
+ "anyOf": [
2429
2429
  {
2430
2430
  "type": "string"
2431
2431
  },
@@ -2442,7 +2442,7 @@
2442
2442
  "type": "object",
2443
2443
  "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.",
2444
2444
  "additionalProperties": {
2445
- "oneOf": [
2445
+ "anyOf": [
2446
2446
  {
2447
2447
  "type": "string"
2448
2448
  },
@@ -2478,7 +2478,7 @@
2478
2478
  {
2479
2479
  "type": "array",
2480
2480
  "items": {
2481
- "oneOf": [
2481
+ "anyOf": [
2482
2482
  {
2483
2483
  "type": "string"
2484
2484
  }
@@ -2501,7 +2501,7 @@
2501
2501
  {
2502
2502
  "type": "array",
2503
2503
  "items": {
2504
- "oneOf": [
2504
+ "anyOf": [
2505
2505
  {
2506
2506
  "type": "string"
2507
2507
  }
@@ -2532,7 +2532,7 @@
2532
2532
  "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
2533
2533
  },
2534
2534
  "elementClass": {
2535
- "oneOf": [
2535
+ "anyOf": [
2536
2536
  {
2537
2537
  "type": "string"
2538
2538
  },
@@ -2549,7 +2549,7 @@
2549
2549
  "type": "object",
2550
2550
  "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.",
2551
2551
  "additionalProperties": {
2552
- "oneOf": [
2552
+ "anyOf": [
2553
2553
  {
2554
2554
  "type": "string"
2555
2555
  },
@@ -2652,6 +2652,19 @@
2652
2652
  ],
2653
2653
  "inputDelay": 100
2654
2654
  }
2655
+ },
2656
+ {
2657
+ "elementId": "/^user-[0-9]+$/",
2658
+ "elementClass": [
2659
+ "admin",
2660
+ "/^level-[1-5]$/"
2661
+ ],
2662
+ "elementAttribute": {
2663
+ "data-active": true,
2664
+ "data-score": "/^[0-9]+$/"
2665
+ },
2666
+ "timeout": 8000,
2667
+ "moveTo": false
2655
2668
  }
2656
2669
  ]
2657
2670
  }
@@ -2761,6 +2774,72 @@
2761
2774
  "transform": [
2762
2775
  "trim"
2763
2776
  ]
2777
+ },
2778
+ "timeout": {
2779
+ "type": "integer",
2780
+ "description": "Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.",
2781
+ "default": 30000,
2782
+ "minimum": 0
2783
+ },
2784
+ "waitUntil": {
2785
+ "type": "object",
2786
+ "description": "Configuration for waiting conditions after navigation.",
2787
+ "additionalProperties": false,
2788
+ "properties": {
2789
+ "networkIdleTime": {
2790
+ "description": "Wait for network activity to be idle (no new requests) for this duration in milliseconds. Set to `null` to skip this check.",
2791
+ "anyOf": [
2792
+ {
2793
+ "type": "integer",
2794
+ "minimum": 0
2795
+ },
2796
+ {
2797
+ "type": "null"
2798
+ }
2799
+ ],
2800
+ "default": 500
2801
+ },
2802
+ "domIdleTime": {
2803
+ "description": "Wait for DOM mutations to stop for this duration in milliseconds. Set to `null` to skip this check.",
2804
+ "anyOf": [
2805
+ {
2806
+ "type": "integer",
2807
+ "minimum": 0
2808
+ },
2809
+ {
2810
+ "type": "null"
2811
+ }
2812
+ ],
2813
+ "default": 1000
2814
+ },
2815
+ "find": {
2816
+ "type": "object",
2817
+ "description": "Wait for a specific element to be present in the DOM. At least one of selector or elementText must be specified.",
2818
+ "additionalProperties": false,
2819
+ "anyOf": [
2820
+ {
2821
+ "required": [
2822
+ "selector"
2823
+ ]
2824
+ },
2825
+ {
2826
+ "required": [
2827
+ "elementText"
2828
+ ]
2829
+ }
2830
+ ],
2831
+ "properties": {
2832
+ "selector": {
2833
+ "type": "string",
2834
+ "description": "CSS selector for the element to wait for."
2835
+ },
2836
+ "elementText": {
2837
+ "type": "string",
2838
+ "description": "Text content the element must contain."
2839
+ }
2840
+ }
2841
+ }
2842
+ }
2764
2843
  }
2765
2844
  },
2766
2845
  "title": "Go to URL (detailed)"
@@ -2799,6 +2878,72 @@
2799
2878
  "transform": [
2800
2879
  "trim"
2801
2880
  ]
2881
+ },
2882
+ "timeout": {
2883
+ "type": "integer",
2884
+ "description": "Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.",
2885
+ "default": 30000,
2886
+ "minimum": 0
2887
+ },
2888
+ "waitUntil": {
2889
+ "type": "object",
2890
+ "description": "Configuration for waiting conditions after navigation.",
2891
+ "additionalProperties": false,
2892
+ "properties": {
2893
+ "networkIdleTime": {
2894
+ "description": "Wait for network activity to be idle (no new requests) for this duration in milliseconds. Set to `null` to skip this check.",
2895
+ "anyOf": [
2896
+ {
2897
+ "type": "integer",
2898
+ "minimum": 0
2899
+ },
2900
+ {
2901
+ "type": "null"
2902
+ }
2903
+ ],
2904
+ "default": 500
2905
+ },
2906
+ "domIdleTime": {
2907
+ "description": "Wait for DOM mutations to stop for this duration in milliseconds. Set to `null` to skip this check.",
2908
+ "anyOf": [
2909
+ {
2910
+ "type": "integer",
2911
+ "minimum": 0
2912
+ },
2913
+ {
2914
+ "type": "null"
2915
+ }
2916
+ ],
2917
+ "default": 1000
2918
+ },
2919
+ "find": {
2920
+ "type": "object",
2921
+ "description": "Wait for a specific element to be present in the DOM. At least one of selector or elementText must be specified.",
2922
+ "additionalProperties": false,
2923
+ "anyOf": [
2924
+ {
2925
+ "required": [
2926
+ "selector"
2927
+ ]
2928
+ },
2929
+ {
2930
+ "required": [
2931
+ "elementText"
2932
+ ]
2933
+ }
2934
+ ],
2935
+ "properties": {
2936
+ "selector": {
2937
+ "type": "string",
2938
+ "description": "CSS selector for the element to wait for."
2939
+ },
2940
+ "elementText": {
2941
+ "type": "string",
2942
+ "description": "Text content the element must contain."
2943
+ }
2944
+ }
2945
+ }
2946
+ }
2802
2947
  }
2803
2948
  },
2804
2949
  "title": "Go to URL (detailed)"
@@ -2813,7 +2958,41 @@
2813
2958
  },
2814
2959
  {
2815
2960
  "url": "/search",
2816
- "origin": "www.google.com"
2961
+ "origin": "https://www.google.com"
2962
+ },
2963
+ {
2964
+ "url": "https://www.example.com",
2965
+ "waitUntil": {
2966
+ "networkIdleTime": 500
2967
+ }
2968
+ },
2969
+ {
2970
+ "url": "https://www.example.com/dashboard",
2971
+ "waitUntil": {
2972
+ "find": {
2973
+ "selector": "[data-testid='dashboard-loaded']"
2974
+ }
2975
+ }
2976
+ },
2977
+ {
2978
+ "url": "https://www.example.com/app",
2979
+ "timeout": 60000,
2980
+ "waitUntil": {
2981
+ "networkIdleTime": 500,
2982
+ "domIdleTime": 1000,
2983
+ "find": {
2984
+ "selector": ".main-content",
2985
+ "elementText": "Dashboard"
2986
+ }
2987
+ }
2988
+ },
2989
+ {
2990
+ "url": "https://www.example.com/status",
2991
+ "waitUntil": {
2992
+ "find": {
2993
+ "elementText": "System operational"
2994
+ }
2995
+ }
2817
2996
  }
2818
2997
  ]
2819
2998
  }
@@ -3121,7 +3300,7 @@
3121
3300
  "description": "Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.",
3122
3301
  "type": "array",
3123
3302
  "items": {
3124
- "oneOf": [
3303
+ "anyOf": [
3125
3304
  {
3126
3305
  "type": "integer"
3127
3306
  }
@@ -3520,7 +3699,7 @@
3520
3699
  "description": "Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.",
3521
3700
  "type": "array",
3522
3701
  "items": {
3523
- "oneOf": [
3702
+ "anyOf": [
3524
3703
  {
3525
3704
  "type": "integer"
3526
3705
  }
@@ -3981,7 +4160,7 @@
3981
4160
  "type": "array",
3982
4161
  "description": "Arguments for the command.",
3983
4162
  "items": {
3984
- "oneOf": [
4163
+ "anyOf": [
3985
4164
  {
3986
4165
  "type": "string"
3987
4166
  }
@@ -3998,7 +4177,7 @@
3998
4177
  "type": "array",
3999
4178
  "description": "Expected exit codes of the command. If the command's actual exit code isn't in this list, the step fails.",
4000
4179
  "items": {
4001
- "oneOf": [
4180
+ "anyOf": [
4002
4181
  {
4003
4182
  "type": "integer"
4004
4183
  }
@@ -4071,7 +4250,7 @@
4071
4250
  "type": "array",
4072
4251
  "description": "Arguments for the command.",
4073
4252
  "items": {
4074
- "oneOf": [
4253
+ "anyOf": [
4075
4254
  {
4076
4255
  "type": "string"
4077
4256
  }
@@ -4088,7 +4267,7 @@
4088
4267
  "type": "array",
4089
4268
  "description": "Expected exit codes of the command. If the command's actual exit code isn't in this list, the step fails.",
4090
4269
  "items": {
4091
- "oneOf": [
4270
+ "anyOf": [
4092
4271
  {
4093
4272
  "type": "integer"
4094
4273
  }
@@ -4289,7 +4468,7 @@
4289
4468
  "type": "array",
4290
4469
  "description": "Arguments for the command.",
4291
4470
  "items": {
4292
- "oneOf": [
4471
+ "anyOf": [
4293
4472
  {
4294
4473
  "type": "string"
4295
4474
  }
@@ -4306,7 +4485,7 @@
4306
4485
  "type": "array",
4307
4486
  "description": "Expected exit codes of the command. If the command's actual exit code isn't in this list, the step fails.",
4308
4487
  "items": {
4309
- "oneOf": [
4488
+ "anyOf": [
4310
4489
  {
4311
4490
  "type": "integer"
4312
4491
  }
@@ -4380,7 +4559,7 @@
4380
4559
  "type": "array",
4381
4560
  "description": "Arguments for the command.",
4382
4561
  "items": {
4383
- "oneOf": [
4562
+ "anyOf": [
4384
4563
  {
4385
4564
  "type": "string"
4386
4565
  }
@@ -4397,7 +4576,7 @@
4397
4576
  "type": "array",
4398
4577
  "description": "Expected exit codes of the command. If the command's actual exit code isn't in this list, the step fails.",
4399
4578
  "items": {
4400
- "oneOf": [
4579
+ "anyOf": [
4401
4580
  {
4402
4581
  "type": "integer"
4403
4582
  }
@@ -4568,7 +4747,7 @@
4568
4747
  {
4569
4748
  "type": "array",
4570
4749
  "items": {
4571
- "oneOf": [
4750
+ "anyOf": [
4572
4751
  {
4573
4752
  "type": "string"
4574
4753
  }
@@ -4591,7 +4770,7 @@
4591
4770
  {
4592
4771
  "type": "array",
4593
4772
  "items": {
4594
- "oneOf": [
4773
+ "anyOf": [
4595
4774
  {
4596
4775
  "type": "string"
4597
4776
  }
@@ -4622,7 +4801,7 @@
4622
4801
  "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
4623
4802
  },
4624
4803
  "elementClass": {
4625
- "oneOf": [
4804
+ "anyOf": [
4626
4805
  {
4627
4806
  "type": "string"
4628
4807
  },
@@ -4639,7 +4818,7 @@
4639
4818
  "type": "object",
4640
4819
  "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.",
4641
4820
  "additionalProperties": {
4642
- "oneOf": [
4821
+ "anyOf": [
4643
4822
  {
4644
4823
  "type": "string"
4645
4824
  },
@@ -4675,7 +4854,7 @@
4675
4854
  {
4676
4855
  "type": "array",
4677
4856
  "items": {
4678
- "oneOf": [
4857
+ "anyOf": [
4679
4858
  {
4680
4859
  "type": "string"
4681
4860
  }
@@ -4698,7 +4877,7 @@
4698
4877
  {
4699
4878
  "type": "array",
4700
4879
  "items": {
4701
- "oneOf": [
4880
+ "anyOf": [
4702
4881
  {
4703
4882
  "type": "string"
4704
4883
  }
@@ -4729,7 +4908,7 @@
4729
4908
  "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
4730
4909
  },
4731
4910
  "elementClass": {
4732
- "oneOf": [
4911
+ "anyOf": [
4733
4912
  {
4734
4913
  "type": "string"
4735
4914
  },
@@ -4746,7 +4925,7 @@
4746
4925
  "type": "object",
4747
4926
  "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.",
4748
4927
  "additionalProperties": {
4749
- "oneOf": [
4928
+ "anyOf": [
4750
4929
  {
4751
4930
  "type": "string"
4752
4931
  },
@@ -4986,7 +5165,7 @@
4986
5165
  "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
4987
5166
  },
4988
5167
  "elementClass": {
4989
- "oneOf": [
5168
+ "anyOf": [
4990
5169
  {
4991
5170
  "type": "string"
4992
5171
  },
@@ -5003,7 +5182,7 @@
5003
5182
  "type": "object",
5004
5183
  "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.",
5005
5184
  "additionalProperties": {
5006
- "oneOf": [
5185
+ "anyOf": [
5007
5186
  {
5008
5187
  "type": "string"
5009
5188
  },
@@ -5182,7 +5361,7 @@
5182
5361
  "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
5183
5362
  },
5184
5363
  "elementClass": {
5185
- "oneOf": [
5364
+ "anyOf": [
5186
5365
  {
5187
5366
  "type": "string"
5188
5367
  },
@@ -5199,7 +5378,7 @@
5199
5378
  "type": "object",
5200
5379
  "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.",
5201
5380
  "additionalProperties": {
5202
- "oneOf": [
5381
+ "anyOf": [
5203
5382
  {
5204
5383
  "type": "string"
5205
5384
  },
@@ -5317,7 +5496,7 @@
5317
5496
  "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
5318
5497
  },
5319
5498
  "elementClass": {
5320
- "oneOf": [
5499
+ "anyOf": [
5321
5500
  {
5322
5501
  "type": "string"
5323
5502
  },
@@ -5334,7 +5513,7 @@
5334
5513
  "type": "object",
5335
5514
  "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.",
5336
5515
  "additionalProperties": {
5337
- "oneOf": [
5516
+ "anyOf": [
5338
5517
  {
5339
5518
  "type": "string"
5340
5519
  },
@@ -7690,7 +7869,7 @@
7690
7869
  {
7691
7870
  "type": "array",
7692
7871
  "items": {
7693
- "oneOf": [
7872
+ "anyOf": [
7694
7873
  {
7695
7874
  "type": "integer"
7696
7875
  }
@@ -7753,7 +7932,7 @@
7753
7932
  {
7754
7933
  "type": "array",
7755
7934
  "items": {
7756
- "oneOf": [
7935
+ "anyOf": [
7757
7936
  {
7758
7937
  "type": "integer"
7759
7938
  }
@@ -7937,7 +8116,7 @@
7937
8116
  "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
7938
8117
  },
7939
8118
  "elementClass": {
7940
- "oneOf": [
8119
+ "anyOf": [
7941
8120
  {
7942
8121
  "type": "string"
7943
8122
  },
@@ -7954,7 +8133,7 @@
7954
8133
  "type": "object",
7955
8134
  "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.",
7956
8135
  "additionalProperties": {
7957
- "oneOf": [
8136
+ "anyOf": [
7958
8137
  {
7959
8138
  "type": "string"
7960
8139
  },
@@ -8060,7 +8239,7 @@
8060
8239
  "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
8061
8240
  },
8062
8241
  "elementClass": {
8063
- "oneOf": [
8242
+ "anyOf": [
8064
8243
  {
8065
8244
  "type": "string"
8066
8245
  },
@@ -8077,7 +8256,7 @@
8077
8256
  "type": "object",
8078
8257
  "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.",
8079
8258
  "additionalProperties": {
8080
- "oneOf": [
8259
+ "anyOf": [
8081
8260
  {
8082
8261
  "type": "string"
8083
8262
  },
@@ -8252,7 +8431,7 @@
8252
8431
  "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
8253
8432
  },
8254
8433
  "elementClass": {
8255
- "oneOf": [
8434
+ "anyOf": [
8256
8435
  {
8257
8436
  "type": "string"
8258
8437
  },
@@ -8269,7 +8448,7 @@
8269
8448
  "type": "object",
8270
8449
  "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.",
8271
8450
  "additionalProperties": {
8272
- "oneOf": [
8451
+ "anyOf": [
8273
8452
  {
8274
8453
  "type": "string"
8275
8454
  },
@@ -8376,7 +8555,7 @@
8376
8555
  "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
8377
8556
  },
8378
8557
  "elementClass": {
8379
- "oneOf": [
8558
+ "anyOf": [
8380
8559
  {
8381
8560
  "type": "string"
8382
8561
  },
@@ -8393,7 +8572,7 @@
8393
8572
  "type": "object",
8394
8573
  "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.",
8395
8574
  "additionalProperties": {
8396
- "oneOf": [
8575
+ "anyOf": [
8397
8576
  {
8398
8577
  "type": "string"
8399
8578
  },
@@ -8499,7 +8678,7 @@
8499
8678
  "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
8500
8679
  },
8501
8680
  "elementClass": {
8502
- "oneOf": [
8681
+ "anyOf": [
8503
8682
  {
8504
8683
  "type": "string"
8505
8684
  },
@@ -8516,7 +8695,7 @@
8516
8695
  "type": "object",
8517
8696
  "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.",
8518
8697
  "additionalProperties": {
8519
- "oneOf": [
8698
+ "anyOf": [
8520
8699
  {
8521
8700
  "type": "string"
8522
8701
  },
@@ -8586,7 +8765,7 @@
8586
8765
  {
8587
8766
  "type": "array",
8588
8767
  "items": {
8589
- "oneOf": [
8768
+ "anyOf": [
8590
8769
  {
8591
8770
  "type": "string"
8592
8771
  }
@@ -8609,7 +8788,7 @@
8609
8788
  {
8610
8789
  "type": "array",
8611
8790
  "items": {
8612
- "oneOf": [
8791
+ "anyOf": [
8613
8792
  {
8614
8793
  "type": "string"
8615
8794
  }
@@ -8640,7 +8819,7 @@
8640
8819
  "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
8641
8820
  },
8642
8821
  "elementClass": {
8643
- "oneOf": [
8822
+ "anyOf": [
8644
8823
  {
8645
8824
  "type": "string"
8646
8825
  },
@@ -8657,7 +8836,7 @@
8657
8836
  "type": "object",
8658
8837
  "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.",
8659
8838
  "additionalProperties": {
8660
- "oneOf": [
8839
+ "anyOf": [
8661
8840
  {
8662
8841
  "type": "string"
8663
8842
  },
@@ -8693,7 +8872,7 @@
8693
8872
  {
8694
8873
  "type": "array",
8695
8874
  "items": {
8696
- "oneOf": [
8875
+ "anyOf": [
8697
8876
  {
8698
8877
  "type": "string"
8699
8878
  }
@@ -8716,7 +8895,7 @@
8716
8895
  {
8717
8896
  "type": "array",
8718
8897
  "items": {
8719
- "oneOf": [
8898
+ "anyOf": [
8720
8899
  {
8721
8900
  "type": "string"
8722
8901
  }
@@ -8747,7 +8926,7 @@
8747
8926
  "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
8748
8927
  },
8749
8928
  "elementClass": {
8750
- "oneOf": [
8929
+ "anyOf": [
8751
8930
  {
8752
8931
  "type": "string"
8753
8932
  },
@@ -8764,7 +8943,7 @@
8764
8943
  "type": "object",
8765
8944
  "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.",
8766
8945
  "additionalProperties": {
8767
- "oneOf": [
8946
+ "anyOf": [
8768
8947
  {
8769
8948
  "type": "string"
8770
8949
  },
@@ -8901,7 +9080,7 @@
8901
9080
  "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
8902
9081
  },
8903
9082
  "elementClass": {
8904
- "oneOf": [
9083
+ "anyOf": [
8905
9084
  {
8906
9085
  "type": "string"
8907
9086
  },
@@ -8918,7 +9097,7 @@
8918
9097
  "type": "object",
8919
9098
  "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.",
8920
9099
  "additionalProperties": {
8921
- "oneOf": [
9100
+ "anyOf": [
8922
9101
  {
8923
9102
  "type": "string"
8924
9103
  },
@@ -9025,7 +9204,7 @@
9025
9204
  "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
9026
9205
  },
9027
9206
  "elementClass": {
9028
- "oneOf": [
9207
+ "anyOf": [
9029
9208
  {
9030
9209
  "type": "string"
9031
9210
  },
@@ -9042,7 +9221,7 @@
9042
9221
  "type": "object",
9043
9222
  "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.",
9044
9223
  "additionalProperties": {
9045
- "oneOf": [
9224
+ "anyOf": [
9046
9225
  {
9047
9226
  "type": "string"
9048
9227
  },
@@ -9148,7 +9327,7 @@
9148
9327
  "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
9149
9328
  },
9150
9329
  "elementClass": {
9151
- "oneOf": [
9330
+ "anyOf": [
9152
9331
  {
9153
9332
  "type": "string"
9154
9333
  },
@@ -9165,7 +9344,7 @@
9165
9344
  "type": "object",
9166
9345
  "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.",
9167
9346
  "additionalProperties": {
9168
- "oneOf": [
9347
+ "anyOf": [
9169
9348
  {
9170
9349
  "type": "string"
9171
9350
  },
@@ -9235,7 +9414,7 @@
9235
9414
  {
9236
9415
  "type": "array",
9237
9416
  "items": {
9238
- "oneOf": [
9417
+ "anyOf": [
9239
9418
  {
9240
9419
  "type": "string"
9241
9420
  }
@@ -9258,7 +9437,7 @@
9258
9437
  {
9259
9438
  "type": "array",
9260
9439
  "items": {
9261
- "oneOf": [
9440
+ "anyOf": [
9262
9441
  {
9263
9442
  "type": "string"
9264
9443
  }
@@ -9289,7 +9468,7 @@
9289
9468
  "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
9290
9469
  },
9291
9470
  "elementClass": {
9292
- "oneOf": [
9471
+ "anyOf": [
9293
9472
  {
9294
9473
  "type": "string"
9295
9474
  },
@@ -9306,7 +9485,7 @@
9306
9485
  "type": "object",
9307
9486
  "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.",
9308
9487
  "additionalProperties": {
9309
- "oneOf": [
9488
+ "anyOf": [
9310
9489
  {
9311
9490
  "type": "string"
9312
9491
  },
@@ -9342,7 +9521,7 @@
9342
9521
  {
9343
9522
  "type": "array",
9344
9523
  "items": {
9345
- "oneOf": [
9524
+ "anyOf": [
9346
9525
  {
9347
9526
  "type": "string"
9348
9527
  }
@@ -9365,7 +9544,7 @@
9365
9544
  {
9366
9545
  "type": "array",
9367
9546
  "items": {
9368
- "oneOf": [
9547
+ "anyOf": [
9369
9548
  {
9370
9549
  "type": "string"
9371
9550
  }
@@ -9396,7 +9575,7 @@
9396
9575
  "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
9397
9576
  },
9398
9577
  "elementClass": {
9399
- "oneOf": [
9578
+ "anyOf": [
9400
9579
  {
9401
9580
  "type": "string"
9402
9581
  },
@@ -9413,7 +9592,7 @@
9413
9592
  "type": "object",
9414
9593
  "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.",
9415
9594
  "additionalProperties": {
9416
- "oneOf": [
9595
+ "anyOf": [
9417
9596
  {
9418
9597
  "type": "string"
9419
9598
  },
@@ -9516,6 +9695,19 @@
9516
9695
  ],
9517
9696
  "inputDelay": 100
9518
9697
  }
9698
+ },
9699
+ {
9700
+ "elementId": "/^user-[0-9]+$/",
9701
+ "elementClass": [
9702
+ "admin",
9703
+ "/^level-[1-5]$/"
9704
+ ],
9705
+ "elementAttribute": {
9706
+ "data-active": true,
9707
+ "data-score": "/^[0-9]+$/"
9708
+ },
9709
+ "timeout": 8000,
9710
+ "moveTo": false
9519
9711
  }
9520
9712
  ]
9521
9713
  }
@@ -9625,6 +9817,72 @@
9625
9817
  "transform": [
9626
9818
  "trim"
9627
9819
  ]
9820
+ },
9821
+ "timeout": {
9822
+ "type": "integer",
9823
+ "description": "Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.",
9824
+ "default": 30000,
9825
+ "minimum": 0
9826
+ },
9827
+ "waitUntil": {
9828
+ "type": "object",
9829
+ "description": "Configuration for waiting conditions after navigation.",
9830
+ "additionalProperties": false,
9831
+ "properties": {
9832
+ "networkIdleTime": {
9833
+ "description": "Wait for network activity to be idle (no new requests) for this duration in milliseconds. Set to `null` to skip this check.",
9834
+ "anyOf": [
9835
+ {
9836
+ "type": "integer",
9837
+ "minimum": 0
9838
+ },
9839
+ {
9840
+ "type": "null"
9841
+ }
9842
+ ],
9843
+ "default": 500
9844
+ },
9845
+ "domIdleTime": {
9846
+ "description": "Wait for DOM mutations to stop for this duration in milliseconds. Set to `null` to skip this check.",
9847
+ "anyOf": [
9848
+ {
9849
+ "type": "integer",
9850
+ "minimum": 0
9851
+ },
9852
+ {
9853
+ "type": "null"
9854
+ }
9855
+ ],
9856
+ "default": 1000
9857
+ },
9858
+ "find": {
9859
+ "type": "object",
9860
+ "description": "Wait for a specific element to be present in the DOM. At least one of selector or elementText must be specified.",
9861
+ "additionalProperties": false,
9862
+ "anyOf": [
9863
+ {
9864
+ "required": [
9865
+ "selector"
9866
+ ]
9867
+ },
9868
+ {
9869
+ "required": [
9870
+ "elementText"
9871
+ ]
9872
+ }
9873
+ ],
9874
+ "properties": {
9875
+ "selector": {
9876
+ "type": "string",
9877
+ "description": "CSS selector for the element to wait for."
9878
+ },
9879
+ "elementText": {
9880
+ "type": "string",
9881
+ "description": "Text content the element must contain."
9882
+ }
9883
+ }
9884
+ }
9885
+ }
9628
9886
  }
9629
9887
  },
9630
9888
  "title": "Go to URL (detailed)"
@@ -9663,6 +9921,72 @@
9663
9921
  "transform": [
9664
9922
  "trim"
9665
9923
  ]
9924
+ },
9925
+ "timeout": {
9926
+ "type": "integer",
9927
+ "description": "Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.",
9928
+ "default": 30000,
9929
+ "minimum": 0
9930
+ },
9931
+ "waitUntil": {
9932
+ "type": "object",
9933
+ "description": "Configuration for waiting conditions after navigation.",
9934
+ "additionalProperties": false,
9935
+ "properties": {
9936
+ "networkIdleTime": {
9937
+ "description": "Wait for network activity to be idle (no new requests) for this duration in milliseconds. Set to `null` to skip this check.",
9938
+ "anyOf": [
9939
+ {
9940
+ "type": "integer",
9941
+ "minimum": 0
9942
+ },
9943
+ {
9944
+ "type": "null"
9945
+ }
9946
+ ],
9947
+ "default": 500
9948
+ },
9949
+ "domIdleTime": {
9950
+ "description": "Wait for DOM mutations to stop for this duration in milliseconds. Set to `null` to skip this check.",
9951
+ "anyOf": [
9952
+ {
9953
+ "type": "integer",
9954
+ "minimum": 0
9955
+ },
9956
+ {
9957
+ "type": "null"
9958
+ }
9959
+ ],
9960
+ "default": 1000
9961
+ },
9962
+ "find": {
9963
+ "type": "object",
9964
+ "description": "Wait for a specific element to be present in the DOM. At least one of selector or elementText must be specified.",
9965
+ "additionalProperties": false,
9966
+ "anyOf": [
9967
+ {
9968
+ "required": [
9969
+ "selector"
9970
+ ]
9971
+ },
9972
+ {
9973
+ "required": [
9974
+ "elementText"
9975
+ ]
9976
+ }
9977
+ ],
9978
+ "properties": {
9979
+ "selector": {
9980
+ "type": "string",
9981
+ "description": "CSS selector for the element to wait for."
9982
+ },
9983
+ "elementText": {
9984
+ "type": "string",
9985
+ "description": "Text content the element must contain."
9986
+ }
9987
+ }
9988
+ }
9989
+ }
9666
9990
  }
9667
9991
  },
9668
9992
  "title": "Go to URL (detailed)"
@@ -9677,7 +10001,41 @@
9677
10001
  },
9678
10002
  {
9679
10003
  "url": "/search",
9680
- "origin": "www.google.com"
10004
+ "origin": "https://www.google.com"
10005
+ },
10006
+ {
10007
+ "url": "https://www.example.com",
10008
+ "waitUntil": {
10009
+ "networkIdleTime": 500
10010
+ }
10011
+ },
10012
+ {
10013
+ "url": "https://www.example.com/dashboard",
10014
+ "waitUntil": {
10015
+ "find": {
10016
+ "selector": "[data-testid='dashboard-loaded']"
10017
+ }
10018
+ }
10019
+ },
10020
+ {
10021
+ "url": "https://www.example.com/app",
10022
+ "timeout": 60000,
10023
+ "waitUntil": {
10024
+ "networkIdleTime": 500,
10025
+ "domIdleTime": 1000,
10026
+ "find": {
10027
+ "selector": ".main-content",
10028
+ "elementText": "Dashboard"
10029
+ }
10030
+ }
10031
+ },
10032
+ {
10033
+ "url": "https://www.example.com/status",
10034
+ "waitUntil": {
10035
+ "find": {
10036
+ "elementText": "System operational"
10037
+ }
10038
+ }
9681
10039
  }
9682
10040
  ]
9683
10041
  }
@@ -9985,7 +10343,7 @@
9985
10343
  "description": "Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.",
9986
10344
  "type": "array",
9987
10345
  "items": {
9988
- "oneOf": [
10346
+ "anyOf": [
9989
10347
  {
9990
10348
  "type": "integer"
9991
10349
  }
@@ -10384,7 +10742,7 @@
10384
10742
  "description": "Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.",
10385
10743
  "type": "array",
10386
10744
  "items": {
10387
- "oneOf": [
10745
+ "anyOf": [
10388
10746
  {
10389
10747
  "type": "integer"
10390
10748
  }
@@ -10845,7 +11203,7 @@
10845
11203
  "type": "array",
10846
11204
  "description": "Arguments for the command.",
10847
11205
  "items": {
10848
- "oneOf": [
11206
+ "anyOf": [
10849
11207
  {
10850
11208
  "type": "string"
10851
11209
  }
@@ -10862,7 +11220,7 @@
10862
11220
  "type": "array",
10863
11221
  "description": "Expected exit codes of the command. If the command's actual exit code isn't in this list, the step fails.",
10864
11222
  "items": {
10865
- "oneOf": [
11223
+ "anyOf": [
10866
11224
  {
10867
11225
  "type": "integer"
10868
11226
  }
@@ -10935,7 +11293,7 @@
10935
11293
  "type": "array",
10936
11294
  "description": "Arguments for the command.",
10937
11295
  "items": {
10938
- "oneOf": [
11296
+ "anyOf": [
10939
11297
  {
10940
11298
  "type": "string"
10941
11299
  }
@@ -10952,7 +11310,7 @@
10952
11310
  "type": "array",
10953
11311
  "description": "Expected exit codes of the command. If the command's actual exit code isn't in this list, the step fails.",
10954
11312
  "items": {
10955
- "oneOf": [
11313
+ "anyOf": [
10956
11314
  {
10957
11315
  "type": "integer"
10958
11316
  }
@@ -11153,7 +11511,7 @@
11153
11511
  "type": "array",
11154
11512
  "description": "Arguments for the command.",
11155
11513
  "items": {
11156
- "oneOf": [
11514
+ "anyOf": [
11157
11515
  {
11158
11516
  "type": "string"
11159
11517
  }
@@ -11170,7 +11528,7 @@
11170
11528
  "type": "array",
11171
11529
  "description": "Expected exit codes of the command. If the command's actual exit code isn't in this list, the step fails.",
11172
11530
  "items": {
11173
- "oneOf": [
11531
+ "anyOf": [
11174
11532
  {
11175
11533
  "type": "integer"
11176
11534
  }
@@ -11244,7 +11602,7 @@
11244
11602
  "type": "array",
11245
11603
  "description": "Arguments for the command.",
11246
11604
  "items": {
11247
- "oneOf": [
11605
+ "anyOf": [
11248
11606
  {
11249
11607
  "type": "string"
11250
11608
  }
@@ -11261,7 +11619,7 @@
11261
11619
  "type": "array",
11262
11620
  "description": "Expected exit codes of the command. If the command's actual exit code isn't in this list, the step fails.",
11263
11621
  "items": {
11264
- "oneOf": [
11622
+ "anyOf": [
11265
11623
  {
11266
11624
  "type": "integer"
11267
11625
  }
@@ -11432,7 +11790,7 @@
11432
11790
  {
11433
11791
  "type": "array",
11434
11792
  "items": {
11435
- "oneOf": [
11793
+ "anyOf": [
11436
11794
  {
11437
11795
  "type": "string"
11438
11796
  }
@@ -11455,7 +11813,7 @@
11455
11813
  {
11456
11814
  "type": "array",
11457
11815
  "items": {
11458
- "oneOf": [
11816
+ "anyOf": [
11459
11817
  {
11460
11818
  "type": "string"
11461
11819
  }
@@ -11486,7 +11844,7 @@
11486
11844
  "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
11487
11845
  },
11488
11846
  "elementClass": {
11489
- "oneOf": [
11847
+ "anyOf": [
11490
11848
  {
11491
11849
  "type": "string"
11492
11850
  },
@@ -11503,7 +11861,7 @@
11503
11861
  "type": "object",
11504
11862
  "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.",
11505
11863
  "additionalProperties": {
11506
- "oneOf": [
11864
+ "anyOf": [
11507
11865
  {
11508
11866
  "type": "string"
11509
11867
  },
@@ -11539,7 +11897,7 @@
11539
11897
  {
11540
11898
  "type": "array",
11541
11899
  "items": {
11542
- "oneOf": [
11900
+ "anyOf": [
11543
11901
  {
11544
11902
  "type": "string"
11545
11903
  }
@@ -11562,7 +11920,7 @@
11562
11920
  {
11563
11921
  "type": "array",
11564
11922
  "items": {
11565
- "oneOf": [
11923
+ "anyOf": [
11566
11924
  {
11567
11925
  "type": "string"
11568
11926
  }
@@ -11593,7 +11951,7 @@
11593
11951
  "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
11594
11952
  },
11595
11953
  "elementClass": {
11596
- "oneOf": [
11954
+ "anyOf": [
11597
11955
  {
11598
11956
  "type": "string"
11599
11957
  },
@@ -11610,7 +11968,7 @@
11610
11968
  "type": "object",
11611
11969
  "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.",
11612
11970
  "additionalProperties": {
11613
- "oneOf": [
11971
+ "anyOf": [
11614
11972
  {
11615
11973
  "type": "string"
11616
11974
  },
@@ -11850,7 +12208,7 @@
11850
12208
  "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
11851
12209
  },
11852
12210
  "elementClass": {
11853
- "oneOf": [
12211
+ "anyOf": [
11854
12212
  {
11855
12213
  "type": "string"
11856
12214
  },
@@ -11867,7 +12225,7 @@
11867
12225
  "type": "object",
11868
12226
  "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.",
11869
12227
  "additionalProperties": {
11870
- "oneOf": [
12228
+ "anyOf": [
11871
12229
  {
11872
12230
  "type": "string"
11873
12231
  },
@@ -12046,7 +12404,7 @@
12046
12404
  "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
12047
12405
  },
12048
12406
  "elementClass": {
12049
- "oneOf": [
12407
+ "anyOf": [
12050
12408
  {
12051
12409
  "type": "string"
12052
12410
  },
@@ -12063,7 +12421,7 @@
12063
12421
  "type": "object",
12064
12422
  "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.",
12065
12423
  "additionalProperties": {
12066
- "oneOf": [
12424
+ "anyOf": [
12067
12425
  {
12068
12426
  "type": "string"
12069
12427
  },
@@ -12181,7 +12539,7 @@
12181
12539
  "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
12182
12540
  },
12183
12541
  "elementClass": {
12184
- "oneOf": [
12542
+ "anyOf": [
12185
12543
  {
12186
12544
  "type": "string"
12187
12545
  },
@@ -12198,7 +12556,7 @@
12198
12556
  "type": "object",
12199
12557
  "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.",
12200
12558
  "additionalProperties": {
12201
- "oneOf": [
12559
+ "anyOf": [
12202
12560
  {
12203
12561
  "type": "string"
12204
12562
  },