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

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 (31) hide show
  1. package/dist/schemas/click_v3.schema.json +142 -6
  2. package/dist/schemas/config_v3.schema.json +2146 -66
  3. package/dist/schemas/find_v3.schema.json +626 -20
  4. package/dist/schemas/report_v3.schema.json +2139 -59
  5. package/dist/schemas/resolvedTests_v3.schema.json +4304 -144
  6. package/dist/schemas/screenshot_v3.schema.json +204 -0
  7. package/dist/schemas/spec_v3.schema.json +2139 -59
  8. package/dist/schemas/step_v3.schema.json +1075 -35
  9. package/dist/schemas/test_v3.schema.json +2139 -59
  10. package/dist/schemas/type_v3.schema.json +94 -0
  11. package/package.json +1 -1
  12. package/src/resolvePaths.js +5 -0
  13. package/src/schemas/build/click_v3.schema.json +71 -3
  14. package/src/schemas/build/find_v3.schema.json +77 -4
  15. package/src/schemas/build/screenshot_v3.schema.json +68 -0
  16. package/src/schemas/build/type_v3.schema.json +47 -0
  17. package/src/schemas/output_schemas/click_v3.schema.json +142 -6
  18. package/src/schemas/output_schemas/config_v3.schema.json +2146 -66
  19. package/src/schemas/output_schemas/find_v3.schema.json +626 -20
  20. package/src/schemas/output_schemas/report_v3.schema.json +2139 -59
  21. package/src/schemas/output_schemas/resolvedTests_v3.schema.json +4304 -144
  22. package/src/schemas/output_schemas/screenshot_v3.schema.json +204 -0
  23. package/src/schemas/output_schemas/spec_v3.schema.json +2139 -59
  24. package/src/schemas/output_schemas/step_v3.schema.json +1075 -35
  25. package/src/schemas/output_schemas/test_v3.schema.json +2139 -59
  26. package/src/schemas/output_schemas/type_v3.schema.json +94 -0
  27. package/src/schemas/schemas.json +14926 -366
  28. package/src/schemas/src_schemas/click_v3.schema.json +71 -3
  29. package/src/schemas/src_schemas/find_v3.schema.json +77 -4
  30. package/src/schemas/src_schemas/screenshot_v3.schema.json +68 -0
  31. package/src/schemas/src_schemas/type_v3.schema.json +47 -0
@@ -1605,7 +1605,7 @@
1605
1605
  {
1606
1606
  "title": "Click element (simple)",
1607
1607
  "type": "string",
1608
- "description": "Display text or selector of the element to find."
1608
+ "description": "Identifier for the element to click. Can be a selector, element text, ARIA name, ID, or test ID."
1609
1609
  },
1610
1610
  {
1611
1611
  "title": "Click element (detailed)",
@@ -1620,6 +1620,31 @@
1620
1620
  "required": [
1621
1621
  "elementText"
1622
1622
  ]
1623
+ },
1624
+ {
1625
+ "required": [
1626
+ "elementId"
1627
+ ]
1628
+ },
1629
+ {
1630
+ "required": [
1631
+ "elementTestId"
1632
+ ]
1633
+ },
1634
+ {
1635
+ "required": [
1636
+ "elementClass"
1637
+ ]
1638
+ },
1639
+ {
1640
+ "required": [
1641
+ "elementAttribute"
1642
+ ]
1643
+ },
1644
+ {
1645
+ "required": [
1646
+ "elementAria"
1647
+ ]
1623
1648
  }
1624
1649
  ],
1625
1650
  "properties": {
@@ -1634,11 +1659,54 @@
1634
1659
  },
1635
1660
  "elementText": {
1636
1661
  "type": "string",
1637
- "description": "Display text of the element to click. If combined with `selector`, the element must match both the text and the selector."
1662
+ "description": "Display text of the element to click. If combined with other element finding fields, the element must match all specified criteria."
1638
1663
  },
1639
1664
  "selector": {
1640
1665
  "type": "string",
1641
- "description": "Selector of the element to click. If combined with `elementText`, the element must match both the text and the selector."
1666
+ "description": "Selector of the element to click. If combined with other element finding fields, the element must match all specified criteria."
1667
+ },
1668
+ "elementId": {
1669
+ "type": "string",
1670
+ "description": "ID attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
1671
+ },
1672
+ "elementTestId": {
1673
+ "type": "string",
1674
+ "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
1675
+ },
1676
+ "elementClass": {
1677
+ "oneOf": [
1678
+ {
1679
+ "type": "string"
1680
+ },
1681
+ {
1682
+ "type": "array",
1683
+ "items": {
1684
+ "type": "string"
1685
+ }
1686
+ }
1687
+ ],
1688
+ "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."
1689
+ },
1690
+ "elementAttribute": {
1691
+ "type": "object",
1692
+ "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.",
1693
+ "additionalProperties": {
1694
+ "oneOf": [
1695
+ {
1696
+ "type": "string"
1697
+ },
1698
+ {
1699
+ "type": "number"
1700
+ },
1701
+ {
1702
+ "type": "boolean"
1703
+ }
1704
+ ]
1705
+ }
1706
+ },
1707
+ "elementAria": {
1708
+ "type": "string",
1709
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
1642
1710
  }
1643
1711
  }
1644
1712
  },
@@ -1651,7 +1719,7 @@
1651
1719
  "string": {
1652
1720
  "title": "Click element (simple)",
1653
1721
  "type": "string",
1654
- "description": "Display text or selector of the element to find."
1722
+ "description": "Identifier for the element to click. Can be a selector, element text, ARIA name, ID, or test ID."
1655
1723
  },
1656
1724
  "button": {
1657
1725
  "description": "Kind of click to perform.",
@@ -1675,6 +1743,31 @@
1675
1743
  "required": [
1676
1744
  "elementText"
1677
1745
  ]
1746
+ },
1747
+ {
1748
+ "required": [
1749
+ "elementId"
1750
+ ]
1751
+ },
1752
+ {
1753
+ "required": [
1754
+ "elementTestId"
1755
+ ]
1756
+ },
1757
+ {
1758
+ "required": [
1759
+ "elementClass"
1760
+ ]
1761
+ },
1762
+ {
1763
+ "required": [
1764
+ "elementAttribute"
1765
+ ]
1766
+ },
1767
+ {
1768
+ "required": [
1769
+ "elementAria"
1770
+ ]
1678
1771
  }
1679
1772
  ],
1680
1773
  "properties": {
@@ -1689,11 +1782,54 @@
1689
1782
  },
1690
1783
  "elementText": {
1691
1784
  "type": "string",
1692
- "description": "Display text of the element to click. If combined with `selector`, the element must match both the text and the selector."
1785
+ "description": "Display text of the element to click. If combined with other element finding fields, the element must match all specified criteria."
1693
1786
  },
1694
1787
  "selector": {
1695
1788
  "type": "string",
1696
- "description": "Selector of the element to click. If combined with `elementText`, the element must match both the text and the selector."
1789
+ "description": "Selector of the element to click. If combined with other element finding fields, the element must match all specified criteria."
1790
+ },
1791
+ "elementId": {
1792
+ "type": "string",
1793
+ "description": "ID attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
1794
+ },
1795
+ "elementTestId": {
1796
+ "type": "string",
1797
+ "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
1798
+ },
1799
+ "elementClass": {
1800
+ "oneOf": [
1801
+ {
1802
+ "type": "string"
1803
+ },
1804
+ {
1805
+ "type": "array",
1806
+ "items": {
1807
+ "type": "string"
1808
+ }
1809
+ }
1810
+ ],
1811
+ "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."
1812
+ },
1813
+ "elementAttribute": {
1814
+ "type": "object",
1815
+ "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.",
1816
+ "additionalProperties": {
1817
+ "oneOf": [
1818
+ {
1819
+ "type": "string"
1820
+ },
1821
+ {
1822
+ "type": "number"
1823
+ },
1824
+ {
1825
+ "type": "boolean"
1826
+ }
1827
+ ]
1828
+ }
1829
+ },
1830
+ "elementAria": {
1831
+ "type": "string",
1832
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
1697
1833
  }
1698
1834
  }
1699
1835
  }
@@ -1792,7 +1928,7 @@
1792
1928
  {
1793
1929
  "title": "Find element (simple)",
1794
1930
  "type": "string",
1795
- "description": "Display text or selector of the element to find."
1931
+ "description": "Identifier for the element to find. Can be a selector, element text, ARIA name, ID, or test ID."
1796
1932
  },
1797
1933
  {
1798
1934
  "title": "Find element (detailed)",
@@ -1807,17 +1943,85 @@
1807
1943
  "required": [
1808
1944
  "elementText"
1809
1945
  ]
1946
+ },
1947
+ {
1948
+ "required": [
1949
+ "elementId"
1950
+ ]
1951
+ },
1952
+ {
1953
+ "required": [
1954
+ "elementTestId"
1955
+ ]
1956
+ },
1957
+ {
1958
+ "required": [
1959
+ "elementClass"
1960
+ ]
1961
+ },
1962
+ {
1963
+ "required": [
1964
+ "elementAttribute"
1965
+ ]
1966
+ },
1967
+ {
1968
+ "required": [
1969
+ "elementAria"
1970
+ ]
1810
1971
  }
1811
1972
  ],
1812
1973
  "additionalProperties": false,
1813
1974
  "properties": {
1814
1975
  "elementText": {
1815
1976
  "type": "string",
1816
- "description": "Display text of the element to find. If combined with `selector`, the element must match both the text and the selector."
1977
+ "description": "Display text of the element to find. If combined with other element finding fields, the element must match all specified criteria."
1817
1978
  },
1818
1979
  "selector": {
1819
1980
  "type": "string",
1820
- "description": "Selector of the element to find. If combined with `elementText`, the element must match both the text and the selector."
1981
+ "description": "Selector of the element to find. If combined with other element finding fields, the element must match all specified criteria."
1982
+ },
1983
+ "elementId": {
1984
+ "type": "string",
1985
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
1986
+ },
1987
+ "elementTestId": {
1988
+ "type": "string",
1989
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
1990
+ },
1991
+ "elementClass": {
1992
+ "oneOf": [
1993
+ {
1994
+ "type": "string"
1995
+ },
1996
+ {
1997
+ "type": "array",
1998
+ "items": {
1999
+ "type": "string"
2000
+ }
2001
+ }
2002
+ ],
2003
+ "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."
2004
+ },
2005
+ "elementAttribute": {
2006
+ "type": "object",
2007
+ "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.",
2008
+ "additionalProperties": {
2009
+ "oneOf": [
2010
+ {
2011
+ "type": "string"
2012
+ },
2013
+ {
2014
+ "type": "number"
2015
+ },
2016
+ {
2017
+ "type": "boolean"
2018
+ }
2019
+ ]
2020
+ }
2021
+ },
2022
+ "elementAria": {
2023
+ "type": "string",
2024
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
1821
2025
  },
1822
2026
  "timeout": {
1823
2027
  "type": "integer",
@@ -1840,7 +2044,7 @@
1840
2044
  {
1841
2045
  "title": "Click element (simple)",
1842
2046
  "type": "string",
1843
- "description": "Display text or selector of the element to find."
2047
+ "description": "Identifier for the element to click. Can be a selector, element text, ARIA name, ID, or test ID."
1844
2048
  },
1845
2049
  {
1846
2050
  "title": "Click element (detailed)",
@@ -1855,6 +2059,31 @@
1855
2059
  "required": [
1856
2060
  "elementText"
1857
2061
  ]
2062
+ },
2063
+ {
2064
+ "required": [
2065
+ "elementId"
2066
+ ]
2067
+ },
2068
+ {
2069
+ "required": [
2070
+ "elementTestId"
2071
+ ]
2072
+ },
2073
+ {
2074
+ "required": [
2075
+ "elementClass"
2076
+ ]
2077
+ },
2078
+ {
2079
+ "required": [
2080
+ "elementAttribute"
2081
+ ]
2082
+ },
2083
+ {
2084
+ "required": [
2085
+ "elementAria"
2086
+ ]
1858
2087
  }
1859
2088
  ],
1860
2089
  "properties": {
@@ -1869,11 +2098,54 @@
1869
2098
  },
1870
2099
  "elementText": {
1871
2100
  "type": "string",
1872
- "description": "Display text of the element to click. If combined with `selector`, the element must match both the text and the selector."
2101
+ "description": "Display text of the element to click. If combined with other element finding fields, the element must match all specified criteria."
1873
2102
  },
1874
2103
  "selector": {
1875
2104
  "type": "string",
1876
- "description": "Selector of the element to click. If combined with `elementText`, the element must match both the text and the selector."
2105
+ "description": "Selector of the element to click. If combined with other element finding fields, the element must match all specified criteria."
2106
+ },
2107
+ "elementId": {
2108
+ "type": "string",
2109
+ "description": "ID attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
2110
+ },
2111
+ "elementTestId": {
2112
+ "type": "string",
2113
+ "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
2114
+ },
2115
+ "elementClass": {
2116
+ "oneOf": [
2117
+ {
2118
+ "type": "string"
2119
+ },
2120
+ {
2121
+ "type": "array",
2122
+ "items": {
2123
+ "type": "string"
2124
+ }
2125
+ }
2126
+ ],
2127
+ "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."
2128
+ },
2129
+ "elementAttribute": {
2130
+ "type": "object",
2131
+ "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.",
2132
+ "additionalProperties": {
2133
+ "oneOf": [
2134
+ {
2135
+ "type": "string"
2136
+ },
2137
+ {
2138
+ "type": "number"
2139
+ },
2140
+ {
2141
+ "type": "boolean"
2142
+ }
2143
+ ]
2144
+ }
2145
+ },
2146
+ "elementAria": {
2147
+ "type": "string",
2148
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
1877
2149
  }
1878
2150
  }
1879
2151
  },
@@ -1886,7 +2158,7 @@
1886
2158
  "string": {
1887
2159
  "title": "Click element (simple)",
1888
2160
  "type": "string",
1889
- "description": "Display text or selector of the element to find."
2161
+ "description": "Identifier for the element to click. Can be a selector, element text, ARIA name, ID, or test ID."
1890
2162
  },
1891
2163
  "button": {
1892
2164
  "description": "Kind of click to perform.",
@@ -1910,6 +2182,31 @@
1910
2182
  "required": [
1911
2183
  "elementText"
1912
2184
  ]
2185
+ },
2186
+ {
2187
+ "required": [
2188
+ "elementId"
2189
+ ]
2190
+ },
2191
+ {
2192
+ "required": [
2193
+ "elementTestId"
2194
+ ]
2195
+ },
2196
+ {
2197
+ "required": [
2198
+ "elementClass"
2199
+ ]
2200
+ },
2201
+ {
2202
+ "required": [
2203
+ "elementAttribute"
2204
+ ]
2205
+ },
2206
+ {
2207
+ "required": [
2208
+ "elementAria"
2209
+ ]
1913
2210
  }
1914
2211
  ],
1915
2212
  "properties": {
@@ -1924,11 +2221,54 @@
1924
2221
  },
1925
2222
  "elementText": {
1926
2223
  "type": "string",
1927
- "description": "Display text of the element to click. If combined with `selector`, the element must match both the text and the selector."
2224
+ "description": "Display text of the element to click. If combined with other element finding fields, the element must match all specified criteria."
1928
2225
  },
1929
2226
  "selector": {
1930
2227
  "type": "string",
1931
- "description": "Selector of the element to click. If combined with `elementText`, the element must match both the text and the selector."
2228
+ "description": "Selector of the element to click. If combined with other element finding fields, the element must match all specified criteria."
2229
+ },
2230
+ "elementId": {
2231
+ "type": "string",
2232
+ "description": "ID attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
2233
+ },
2234
+ "elementTestId": {
2235
+ "type": "string",
2236
+ "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
2237
+ },
2238
+ "elementClass": {
2239
+ "oneOf": [
2240
+ {
2241
+ "type": "string"
2242
+ },
2243
+ {
2244
+ "type": "array",
2245
+ "items": {
2246
+ "type": "string"
2247
+ }
2248
+ }
2249
+ ],
2250
+ "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."
2251
+ },
2252
+ "elementAttribute": {
2253
+ "type": "object",
2254
+ "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.",
2255
+ "additionalProperties": {
2256
+ "oneOf": [
2257
+ {
2258
+ "type": "string"
2259
+ },
2260
+ {
2261
+ "type": "number"
2262
+ },
2263
+ {
2264
+ "type": "boolean"
2265
+ }
2266
+ ]
2267
+ }
2268
+ },
2269
+ "elementAria": {
2270
+ "type": "string",
2271
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
1932
2272
  }
1933
2273
  }
1934
2274
  }
@@ -2023,6 +2363,53 @@
2023
2363
  "selector": {
2024
2364
  "type": "string",
2025
2365
  "description": "Selector for the element to type into. If not specified, the typing occurs in the active element."
2366
+ },
2367
+ "elementText": {
2368
+ "type": "string",
2369
+ "description": "Display text of the element to type into. If combined with other element finding fields, the element must match all specified criteria."
2370
+ },
2371
+ "elementId": {
2372
+ "type": "string",
2373
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
2374
+ },
2375
+ "elementTestId": {
2376
+ "type": "string",
2377
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
2378
+ },
2379
+ "elementClass": {
2380
+ "oneOf": [
2381
+ {
2382
+ "type": "string"
2383
+ },
2384
+ {
2385
+ "type": "array",
2386
+ "items": {
2387
+ "type": "string"
2388
+ }
2389
+ }
2390
+ ],
2391
+ "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."
2392
+ },
2393
+ "elementAttribute": {
2394
+ "type": "object",
2395
+ "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.",
2396
+ "additionalProperties": {
2397
+ "oneOf": [
2398
+ {
2399
+ "type": "string"
2400
+ },
2401
+ {
2402
+ "type": "number"
2403
+ },
2404
+ {
2405
+ "type": "boolean"
2406
+ }
2407
+ ]
2408
+ }
2409
+ },
2410
+ "elementAria": {
2411
+ "type": "string",
2412
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
2026
2413
  }
2027
2414
  },
2028
2415
  "required": [
@@ -2083,6 +2470,53 @@
2083
2470
  "selector": {
2084
2471
  "type": "string",
2085
2472
  "description": "Selector for the element to type into. If not specified, the typing occurs in the active element."
2473
+ },
2474
+ "elementText": {
2475
+ "type": "string",
2476
+ "description": "Display text of the element to type into. If combined with other element finding fields, the element must match all specified criteria."
2477
+ },
2478
+ "elementId": {
2479
+ "type": "string",
2480
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
2481
+ },
2482
+ "elementTestId": {
2483
+ "type": "string",
2484
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
2485
+ },
2486
+ "elementClass": {
2487
+ "oneOf": [
2488
+ {
2489
+ "type": "string"
2490
+ },
2491
+ {
2492
+ "type": "array",
2493
+ "items": {
2494
+ "type": "string"
2495
+ }
2496
+ }
2497
+ ],
2498
+ "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."
2499
+ },
2500
+ "elementAttribute": {
2501
+ "type": "object",
2502
+ "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.",
2503
+ "additionalProperties": {
2504
+ "oneOf": [
2505
+ {
2506
+ "type": "string"
2507
+ },
2508
+ {
2509
+ "type": "number"
2510
+ },
2511
+ {
2512
+ "type": "boolean"
2513
+ }
2514
+ ]
2515
+ }
2516
+ },
2517
+ "elementAria": {
2518
+ "type": "string",
2519
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
2086
2520
  }
2087
2521
  },
2088
2522
  "required": [
@@ -2123,7 +2557,12 @@
2123
2557
  "type": "object",
2124
2558
  "required": [
2125
2559
  "selector",
2126
- "elementText"
2560
+ "elementText",
2561
+ "elementId",
2562
+ "elementTestId",
2563
+ "elementClass",
2564
+ "elementAttribute",
2565
+ "elementAria"
2127
2566
  ],
2128
2567
  "title": "Find element and type"
2129
2568
  }
@@ -2138,7 +2577,7 @@
2138
2577
  "string": {
2139
2578
  "title": "Find element (simple)",
2140
2579
  "type": "string",
2141
- "description": "Display text or selector of the element to find."
2580
+ "description": "Identifier for the element to find. Can be a selector, element text, ARIA name, ID, or test ID."
2142
2581
  },
2143
2582
  "object": {
2144
2583
  "title": "Find element (detailed)",
@@ -2153,17 +2592,85 @@
2153
2592
  "required": [
2154
2593
  "elementText"
2155
2594
  ]
2595
+ },
2596
+ {
2597
+ "required": [
2598
+ "elementId"
2599
+ ]
2600
+ },
2601
+ {
2602
+ "required": [
2603
+ "elementTestId"
2604
+ ]
2605
+ },
2606
+ {
2607
+ "required": [
2608
+ "elementClass"
2609
+ ]
2610
+ },
2611
+ {
2612
+ "required": [
2613
+ "elementAttribute"
2614
+ ]
2615
+ },
2616
+ {
2617
+ "required": [
2618
+ "elementAria"
2619
+ ]
2156
2620
  }
2157
2621
  ],
2158
2622
  "additionalProperties": false,
2159
2623
  "properties": {
2160
2624
  "elementText": {
2161
2625
  "type": "string",
2162
- "description": "Display text of the element to find. If combined with `selector`, the element must match both the text and the selector."
2626
+ "description": "Display text of the element to find. If combined with other element finding fields, the element must match all specified criteria."
2163
2627
  },
2164
2628
  "selector": {
2165
2629
  "type": "string",
2166
- "description": "Selector of the element to find. If combined with `elementText`, the element must match both the text and the selector."
2630
+ "description": "Selector of the element to find. If combined with other element finding fields, the element must match all specified criteria."
2631
+ },
2632
+ "elementId": {
2633
+ "type": "string",
2634
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
2635
+ },
2636
+ "elementTestId": {
2637
+ "type": "string",
2638
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
2639
+ },
2640
+ "elementClass": {
2641
+ "oneOf": [
2642
+ {
2643
+ "type": "string"
2644
+ },
2645
+ {
2646
+ "type": "array",
2647
+ "items": {
2648
+ "type": "string"
2649
+ }
2650
+ }
2651
+ ],
2652
+ "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."
2653
+ },
2654
+ "elementAttribute": {
2655
+ "type": "object",
2656
+ "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.",
2657
+ "additionalProperties": {
2658
+ "oneOf": [
2659
+ {
2660
+ "type": "string"
2661
+ },
2662
+ {
2663
+ "type": "number"
2664
+ },
2665
+ {
2666
+ "type": "boolean"
2667
+ }
2668
+ ]
2669
+ }
2670
+ },
2671
+ "elementAria": {
2672
+ "type": "string",
2673
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
2167
2674
  },
2168
2675
  "timeout": {
2169
2676
  "type": "integer",
@@ -2186,7 +2693,7 @@
2186
2693
  {
2187
2694
  "title": "Click element (simple)",
2188
2695
  "type": "string",
2189
- "description": "Display text or selector of the element to find."
2696
+ "description": "Identifier for the element to click. Can be a selector, element text, ARIA name, ID, or test ID."
2190
2697
  },
2191
2698
  {
2192
2699
  "title": "Click element (detailed)",
@@ -2201,6 +2708,31 @@
2201
2708
  "required": [
2202
2709
  "elementText"
2203
2710
  ]
2711
+ },
2712
+ {
2713
+ "required": [
2714
+ "elementId"
2715
+ ]
2716
+ },
2717
+ {
2718
+ "required": [
2719
+ "elementTestId"
2720
+ ]
2721
+ },
2722
+ {
2723
+ "required": [
2724
+ "elementClass"
2725
+ ]
2726
+ },
2727
+ {
2728
+ "required": [
2729
+ "elementAttribute"
2730
+ ]
2731
+ },
2732
+ {
2733
+ "required": [
2734
+ "elementAria"
2735
+ ]
2204
2736
  }
2205
2737
  ],
2206
2738
  "properties": {
@@ -2215,11 +2747,54 @@
2215
2747
  },
2216
2748
  "elementText": {
2217
2749
  "type": "string",
2218
- "description": "Display text of the element to click. If combined with `selector`, the element must match both the text and the selector."
2750
+ "description": "Display text of the element to click. If combined with other element finding fields, the element must match all specified criteria."
2219
2751
  },
2220
2752
  "selector": {
2221
2753
  "type": "string",
2222
- "description": "Selector of the element to click. If combined with `elementText`, the element must match both the text and the selector."
2754
+ "description": "Selector of the element to click. If combined with other element finding fields, the element must match all specified criteria."
2755
+ },
2756
+ "elementId": {
2757
+ "type": "string",
2758
+ "description": "ID attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
2759
+ },
2760
+ "elementTestId": {
2761
+ "type": "string",
2762
+ "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
2763
+ },
2764
+ "elementClass": {
2765
+ "oneOf": [
2766
+ {
2767
+ "type": "string"
2768
+ },
2769
+ {
2770
+ "type": "array",
2771
+ "items": {
2772
+ "type": "string"
2773
+ }
2774
+ }
2775
+ ],
2776
+ "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."
2777
+ },
2778
+ "elementAttribute": {
2779
+ "type": "object",
2780
+ "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.",
2781
+ "additionalProperties": {
2782
+ "oneOf": [
2783
+ {
2784
+ "type": "string"
2785
+ },
2786
+ {
2787
+ "type": "number"
2788
+ },
2789
+ {
2790
+ "type": "boolean"
2791
+ }
2792
+ ]
2793
+ }
2794
+ },
2795
+ "elementAria": {
2796
+ "type": "string",
2797
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
2223
2798
  }
2224
2799
  }
2225
2800
  },
@@ -2232,7 +2807,7 @@
2232
2807
  "string": {
2233
2808
  "title": "Click element (simple)",
2234
2809
  "type": "string",
2235
- "description": "Display text or selector of the element to find."
2810
+ "description": "Identifier for the element to click. Can be a selector, element text, ARIA name, ID, or test ID."
2236
2811
  },
2237
2812
  "button": {
2238
2813
  "description": "Kind of click to perform.",
@@ -2256,6 +2831,31 @@
2256
2831
  "required": [
2257
2832
  "elementText"
2258
2833
  ]
2834
+ },
2835
+ {
2836
+ "required": [
2837
+ "elementId"
2838
+ ]
2839
+ },
2840
+ {
2841
+ "required": [
2842
+ "elementTestId"
2843
+ ]
2844
+ },
2845
+ {
2846
+ "required": [
2847
+ "elementClass"
2848
+ ]
2849
+ },
2850
+ {
2851
+ "required": [
2852
+ "elementAttribute"
2853
+ ]
2854
+ },
2855
+ {
2856
+ "required": [
2857
+ "elementAria"
2858
+ ]
2259
2859
  }
2260
2860
  ],
2261
2861
  "properties": {
@@ -2270,11 +2870,54 @@
2270
2870
  },
2271
2871
  "elementText": {
2272
2872
  "type": "string",
2273
- "description": "Display text of the element to click. If combined with `selector`, the element must match both the text and the selector."
2873
+ "description": "Display text of the element to click. If combined with other element finding fields, the element must match all specified criteria."
2274
2874
  },
2275
2875
  "selector": {
2276
2876
  "type": "string",
2277
- "description": "Selector of the element to click. If combined with `elementText`, the element must match both the text and the selector."
2877
+ "description": "Selector of the element to click. If combined with other element finding fields, the element must match all specified criteria."
2878
+ },
2879
+ "elementId": {
2880
+ "type": "string",
2881
+ "description": "ID attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
2882
+ },
2883
+ "elementTestId": {
2884
+ "type": "string",
2885
+ "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
2886
+ },
2887
+ "elementClass": {
2888
+ "oneOf": [
2889
+ {
2890
+ "type": "string"
2891
+ },
2892
+ {
2893
+ "type": "array",
2894
+ "items": {
2895
+ "type": "string"
2896
+ }
2897
+ }
2898
+ ],
2899
+ "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."
2900
+ },
2901
+ "elementAttribute": {
2902
+ "type": "object",
2903
+ "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.",
2904
+ "additionalProperties": {
2905
+ "oneOf": [
2906
+ {
2907
+ "type": "string"
2908
+ },
2909
+ {
2910
+ "type": "number"
2911
+ },
2912
+ {
2913
+ "type": "boolean"
2914
+ }
2915
+ ]
2916
+ }
2917
+ },
2918
+ "elementAria": {
2919
+ "type": "string",
2920
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
2278
2921
  }
2279
2922
  }
2280
2923
  }
@@ -2366,9 +3009,56 @@
2366
3009
  "description": "Delay in milliseconds between each key press during a recording",
2367
3010
  "default": 100
2368
3011
  },
2369
- "selector": {
3012
+ "selector": {
3013
+ "type": "string",
3014
+ "description": "Selector for the element to type into. If not specified, the typing occurs in the active element."
3015
+ },
3016
+ "elementText": {
3017
+ "type": "string",
3018
+ "description": "Display text of the element to type into. If combined with other element finding fields, the element must match all specified criteria."
3019
+ },
3020
+ "elementId": {
3021
+ "type": "string",
3022
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
3023
+ },
3024
+ "elementTestId": {
3025
+ "type": "string",
3026
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
3027
+ },
3028
+ "elementClass": {
3029
+ "oneOf": [
3030
+ {
3031
+ "type": "string"
3032
+ },
3033
+ {
3034
+ "type": "array",
3035
+ "items": {
3036
+ "type": "string"
3037
+ }
3038
+ }
3039
+ ],
3040
+ "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."
3041
+ },
3042
+ "elementAttribute": {
3043
+ "type": "object",
3044
+ "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.",
3045
+ "additionalProperties": {
3046
+ "oneOf": [
3047
+ {
3048
+ "type": "string"
3049
+ },
3050
+ {
3051
+ "type": "number"
3052
+ },
3053
+ {
3054
+ "type": "boolean"
3055
+ }
3056
+ ]
3057
+ }
3058
+ },
3059
+ "elementAria": {
2370
3060
  "type": "string",
2371
- "description": "Selector for the element to type into. If not specified, the typing occurs in the active element."
3061
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
2372
3062
  }
2373
3063
  },
2374
3064
  "required": [
@@ -2429,6 +3119,53 @@
2429
3119
  "selector": {
2430
3120
  "type": "string",
2431
3121
  "description": "Selector for the element to type into. If not specified, the typing occurs in the active element."
3122
+ },
3123
+ "elementText": {
3124
+ "type": "string",
3125
+ "description": "Display text of the element to type into. If combined with other element finding fields, the element must match all specified criteria."
3126
+ },
3127
+ "elementId": {
3128
+ "type": "string",
3129
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
3130
+ },
3131
+ "elementTestId": {
3132
+ "type": "string",
3133
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
3134
+ },
3135
+ "elementClass": {
3136
+ "oneOf": [
3137
+ {
3138
+ "type": "string"
3139
+ },
3140
+ {
3141
+ "type": "array",
3142
+ "items": {
3143
+ "type": "string"
3144
+ }
3145
+ }
3146
+ ],
3147
+ "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."
3148
+ },
3149
+ "elementAttribute": {
3150
+ "type": "object",
3151
+ "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.",
3152
+ "additionalProperties": {
3153
+ "oneOf": [
3154
+ {
3155
+ "type": "string"
3156
+ },
3157
+ {
3158
+ "type": "number"
3159
+ },
3160
+ {
3161
+ "type": "boolean"
3162
+ }
3163
+ ]
3164
+ }
3165
+ },
3166
+ "elementAria": {
3167
+ "type": "string",
3168
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
2432
3169
  }
2433
3170
  },
2434
3171
  "required": [
@@ -2469,7 +3206,12 @@
2469
3206
  "type": "object",
2470
3207
  "required": [
2471
3208
  "selector",
2472
- "elementText"
3209
+ "elementText",
3210
+ "elementId",
3211
+ "elementTestId",
3212
+ "elementClass",
3213
+ "elementAttribute",
3214
+ "elementAria"
2473
3215
  ],
2474
3216
  "title": "Find element and type"
2475
3217
  }
@@ -4467,6 +5209,53 @@
4467
5209
  "selector": {
4468
5210
  "type": "string",
4469
5211
  "description": "Selector for the element to type into. If not specified, the typing occurs in the active element."
5212
+ },
5213
+ "elementText": {
5214
+ "type": "string",
5215
+ "description": "Display text of the element to type into. If combined with other element finding fields, the element must match all specified criteria."
5216
+ },
5217
+ "elementId": {
5218
+ "type": "string",
5219
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
5220
+ },
5221
+ "elementTestId": {
5222
+ "type": "string",
5223
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
5224
+ },
5225
+ "elementClass": {
5226
+ "oneOf": [
5227
+ {
5228
+ "type": "string"
5229
+ },
5230
+ {
5231
+ "type": "array",
5232
+ "items": {
5233
+ "type": "string"
5234
+ }
5235
+ }
5236
+ ],
5237
+ "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."
5238
+ },
5239
+ "elementAttribute": {
5240
+ "type": "object",
5241
+ "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.",
5242
+ "additionalProperties": {
5243
+ "oneOf": [
5244
+ {
5245
+ "type": "string"
5246
+ },
5247
+ {
5248
+ "type": "number"
5249
+ },
5250
+ {
5251
+ "type": "boolean"
5252
+ }
5253
+ ]
5254
+ }
5255
+ },
5256
+ "elementAria": {
5257
+ "type": "string",
5258
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
4470
5259
  }
4471
5260
  },
4472
5261
  "required": [
@@ -4527,6 +5316,53 @@
4527
5316
  "selector": {
4528
5317
  "type": "string",
4529
5318
  "description": "Selector for the element to type into. If not specified, the typing occurs in the active element."
5319
+ },
5320
+ "elementText": {
5321
+ "type": "string",
5322
+ "description": "Display text of the element to type into. If combined with other element finding fields, the element must match all specified criteria."
5323
+ },
5324
+ "elementId": {
5325
+ "type": "string",
5326
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
5327
+ },
5328
+ "elementTestId": {
5329
+ "type": "string",
5330
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
5331
+ },
5332
+ "elementClass": {
5333
+ "oneOf": [
5334
+ {
5335
+ "type": "string"
5336
+ },
5337
+ {
5338
+ "type": "array",
5339
+ "items": {
5340
+ "type": "string"
5341
+ }
5342
+ }
5343
+ ],
5344
+ "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."
5345
+ },
5346
+ "elementAttribute": {
5347
+ "type": "object",
5348
+ "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.",
5349
+ "additionalProperties": {
5350
+ "oneOf": [
5351
+ {
5352
+ "type": "string"
5353
+ },
5354
+ {
5355
+ "type": "number"
5356
+ },
5357
+ {
5358
+ "type": "boolean"
5359
+ }
5360
+ ]
5361
+ }
5362
+ },
5363
+ "elementAria": {
5364
+ "type": "string",
5365
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
4530
5366
  }
4531
5367
  },
4532
5368
  "required": [
@@ -4706,6 +5542,31 @@
4706
5542
  "required": [
4707
5543
  "elementText"
4708
5544
  ]
5545
+ },
5546
+ {
5547
+ "required": [
5548
+ "elementId"
5549
+ ]
5550
+ },
5551
+ {
5552
+ "required": [
5553
+ "elementTestId"
5554
+ ]
5555
+ },
5556
+ {
5557
+ "required": [
5558
+ "elementClass"
5559
+ ]
5560
+ },
5561
+ {
5562
+ "required": [
5563
+ "elementAttribute"
5564
+ ]
5565
+ },
5566
+ {
5567
+ "required": [
5568
+ "elementAria"
5569
+ ]
4709
5570
  }
4710
5571
  ],
4711
5572
  "properties": {
@@ -4717,6 +5578,49 @@
4717
5578
  "type": "string",
4718
5579
  "description": "Selector of the element to screenshot."
4719
5580
  },
5581
+ "elementId": {
5582
+ "type": "string",
5583
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
5584
+ },
5585
+ "elementTestId": {
5586
+ "type": "string",
5587
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
5588
+ },
5589
+ "elementClass": {
5590
+ "oneOf": [
5591
+ {
5592
+ "type": "string"
5593
+ },
5594
+ {
5595
+ "type": "array",
5596
+ "items": {
5597
+ "type": "string"
5598
+ }
5599
+ }
5600
+ ],
5601
+ "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."
5602
+ },
5603
+ "elementAttribute": {
5604
+ "type": "object",
5605
+ "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.",
5606
+ "additionalProperties": {
5607
+ "oneOf": [
5608
+ {
5609
+ "type": "string"
5610
+ },
5611
+ {
5612
+ "type": "number"
5613
+ },
5614
+ {
5615
+ "type": "boolean"
5616
+ }
5617
+ ]
5618
+ }
5619
+ },
5620
+ "elementAria": {
5621
+ "type": "string",
5622
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
5623
+ },
4720
5624
  "padding": {
4721
5625
  "anyOf": [
4722
5626
  {
@@ -4834,6 +5738,31 @@
4834
5738
  "required": [
4835
5739
  "elementText"
4836
5740
  ]
5741
+ },
5742
+ {
5743
+ "required": [
5744
+ "elementId"
5745
+ ]
5746
+ },
5747
+ {
5748
+ "required": [
5749
+ "elementTestId"
5750
+ ]
5751
+ },
5752
+ {
5753
+ "required": [
5754
+ "elementClass"
5755
+ ]
5756
+ },
5757
+ {
5758
+ "required": [
5759
+ "elementAttribute"
5760
+ ]
5761
+ },
5762
+ {
5763
+ "required": [
5764
+ "elementAria"
5765
+ ]
4837
5766
  }
4838
5767
  ],
4839
5768
  "properties": {
@@ -4845,6 +5774,49 @@
4845
5774
  "type": "string",
4846
5775
  "description": "Selector of the element to screenshot."
4847
5776
  },
5777
+ "elementId": {
5778
+ "type": "string",
5779
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
5780
+ },
5781
+ "elementTestId": {
5782
+ "type": "string",
5783
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
5784
+ },
5785
+ "elementClass": {
5786
+ "oneOf": [
5787
+ {
5788
+ "type": "string"
5789
+ },
5790
+ {
5791
+ "type": "array",
5792
+ "items": {
5793
+ "type": "string"
5794
+ }
5795
+ }
5796
+ ],
5797
+ "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."
5798
+ },
5799
+ "elementAttribute": {
5800
+ "type": "object",
5801
+ "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.",
5802
+ "additionalProperties": {
5803
+ "oneOf": [
5804
+ {
5805
+ "type": "string"
5806
+ },
5807
+ {
5808
+ "type": "number"
5809
+ },
5810
+ {
5811
+ "type": "boolean"
5812
+ }
5813
+ ]
5814
+ }
5815
+ },
5816
+ "elementAria": {
5817
+ "type": "string",
5818
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
5819
+ },
4848
5820
  "padding": {
4849
5821
  "anyOf": [
4850
5822
  {
@@ -4901,6 +5873,31 @@
4901
5873
  "required": [
4902
5874
  "elementText"
4903
5875
  ]
5876
+ },
5877
+ {
5878
+ "required": [
5879
+ "elementId"
5880
+ ]
5881
+ },
5882
+ {
5883
+ "required": [
5884
+ "elementTestId"
5885
+ ]
5886
+ },
5887
+ {
5888
+ "required": [
5889
+ "elementClass"
5890
+ ]
5891
+ },
5892
+ {
5893
+ "required": [
5894
+ "elementAttribute"
5895
+ ]
5896
+ },
5897
+ {
5898
+ "required": [
5899
+ "elementAria"
5900
+ ]
4904
5901
  }
4905
5902
  ],
4906
5903
  "properties": {
@@ -4908,9 +5905,52 @@
4908
5905
  "type": "string",
4909
5906
  "description": "Display text of the element to screenshot."
4910
5907
  },
4911
- "selector": {
5908
+ "selector": {
5909
+ "type": "string",
5910
+ "description": "Selector of the element to screenshot."
5911
+ },
5912
+ "elementId": {
5913
+ "type": "string",
5914
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
5915
+ },
5916
+ "elementTestId": {
5917
+ "type": "string",
5918
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
5919
+ },
5920
+ "elementClass": {
5921
+ "oneOf": [
5922
+ {
5923
+ "type": "string"
5924
+ },
5925
+ {
5926
+ "type": "array",
5927
+ "items": {
5928
+ "type": "string"
5929
+ }
5930
+ }
5931
+ ],
5932
+ "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."
5933
+ },
5934
+ "elementAttribute": {
5935
+ "type": "object",
5936
+ "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.",
5937
+ "additionalProperties": {
5938
+ "oneOf": [
5939
+ {
5940
+ "type": "string"
5941
+ },
5942
+ {
5943
+ "type": "number"
5944
+ },
5945
+ {
5946
+ "type": "boolean"
5947
+ }
5948
+ ]
5949
+ }
5950
+ },
5951
+ "elementAria": {
4912
5952
  "type": "string",
4913
- "description": "Selector of the element to screenshot."
5953
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
4914
5954
  },
4915
5955
  "padding": {
4916
5956
  "anyOf": [
@@ -7429,7 +8469,7 @@
7429
8469
  {
7430
8470
  "title": "Click element (simple)",
7431
8471
  "type": "string",
7432
- "description": "Display text or selector of the element to find."
8472
+ "description": "Identifier for the element to click. Can be a selector, element text, ARIA name, ID, or test ID."
7433
8473
  },
7434
8474
  {
7435
8475
  "title": "Click element (detailed)",
@@ -7444,6 +8484,31 @@
7444
8484
  "required": [
7445
8485
  "elementText"
7446
8486
  ]
8487
+ },
8488
+ {
8489
+ "required": [
8490
+ "elementId"
8491
+ ]
8492
+ },
8493
+ {
8494
+ "required": [
8495
+ "elementTestId"
8496
+ ]
8497
+ },
8498
+ {
8499
+ "required": [
8500
+ "elementClass"
8501
+ ]
8502
+ },
8503
+ {
8504
+ "required": [
8505
+ "elementAttribute"
8506
+ ]
8507
+ },
8508
+ {
8509
+ "required": [
8510
+ "elementAria"
8511
+ ]
7447
8512
  }
7448
8513
  ],
7449
8514
  "properties": {
@@ -7458,11 +8523,54 @@
7458
8523
  },
7459
8524
  "elementText": {
7460
8525
  "type": "string",
7461
- "description": "Display text of the element to click. If combined with `selector`, the element must match both the text and the selector."
8526
+ "description": "Display text of the element to click. If combined with other element finding fields, the element must match all specified criteria."
7462
8527
  },
7463
8528
  "selector": {
7464
8529
  "type": "string",
7465
- "description": "Selector of the element to click. If combined with `elementText`, the element must match both the text and the selector."
8530
+ "description": "Selector of the element to click. If combined with other element finding fields, the element must match all specified criteria."
8531
+ },
8532
+ "elementId": {
8533
+ "type": "string",
8534
+ "description": "ID attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
8535
+ },
8536
+ "elementTestId": {
8537
+ "type": "string",
8538
+ "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
8539
+ },
8540
+ "elementClass": {
8541
+ "oneOf": [
8542
+ {
8543
+ "type": "string"
8544
+ },
8545
+ {
8546
+ "type": "array",
8547
+ "items": {
8548
+ "type": "string"
8549
+ }
8550
+ }
8551
+ ],
8552
+ "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."
8553
+ },
8554
+ "elementAttribute": {
8555
+ "type": "object",
8556
+ "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.",
8557
+ "additionalProperties": {
8558
+ "oneOf": [
8559
+ {
8560
+ "type": "string"
8561
+ },
8562
+ {
8563
+ "type": "number"
8564
+ },
8565
+ {
8566
+ "type": "boolean"
8567
+ }
8568
+ ]
8569
+ }
8570
+ },
8571
+ "elementAria": {
8572
+ "type": "string",
8573
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
7466
8574
  }
7467
8575
  }
7468
8576
  },
@@ -7475,7 +8583,7 @@
7475
8583
  "string": {
7476
8584
  "title": "Click element (simple)",
7477
8585
  "type": "string",
7478
- "description": "Display text or selector of the element to find."
8586
+ "description": "Identifier for the element to click. Can be a selector, element text, ARIA name, ID, or test ID."
7479
8587
  },
7480
8588
  "button": {
7481
8589
  "description": "Kind of click to perform.",
@@ -7499,6 +8607,31 @@
7499
8607
  "required": [
7500
8608
  "elementText"
7501
8609
  ]
8610
+ },
8611
+ {
8612
+ "required": [
8613
+ "elementId"
8614
+ ]
8615
+ },
8616
+ {
8617
+ "required": [
8618
+ "elementTestId"
8619
+ ]
8620
+ },
8621
+ {
8622
+ "required": [
8623
+ "elementClass"
8624
+ ]
8625
+ },
8626
+ {
8627
+ "required": [
8628
+ "elementAttribute"
8629
+ ]
8630
+ },
8631
+ {
8632
+ "required": [
8633
+ "elementAria"
8634
+ ]
7502
8635
  }
7503
8636
  ],
7504
8637
  "properties": {
@@ -7513,11 +8646,54 @@
7513
8646
  },
7514
8647
  "elementText": {
7515
8648
  "type": "string",
7516
- "description": "Display text of the element to click. If combined with `selector`, the element must match both the text and the selector."
8649
+ "description": "Display text of the element to click. If combined with other element finding fields, the element must match all specified criteria."
7517
8650
  },
7518
8651
  "selector": {
7519
8652
  "type": "string",
7520
- "description": "Selector of the element to click. If combined with `elementText`, the element must match both the text and the selector."
8653
+ "description": "Selector of the element to click. If combined with other element finding fields, the element must match all specified criteria."
8654
+ },
8655
+ "elementId": {
8656
+ "type": "string",
8657
+ "description": "ID attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
8658
+ },
8659
+ "elementTestId": {
8660
+ "type": "string",
8661
+ "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
8662
+ },
8663
+ "elementClass": {
8664
+ "oneOf": [
8665
+ {
8666
+ "type": "string"
8667
+ },
8668
+ {
8669
+ "type": "array",
8670
+ "items": {
8671
+ "type": "string"
8672
+ }
8673
+ }
8674
+ ],
8675
+ "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."
8676
+ },
8677
+ "elementAttribute": {
8678
+ "type": "object",
8679
+ "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.",
8680
+ "additionalProperties": {
8681
+ "oneOf": [
8682
+ {
8683
+ "type": "string"
8684
+ },
8685
+ {
8686
+ "type": "number"
8687
+ },
8688
+ {
8689
+ "type": "boolean"
8690
+ }
8691
+ ]
8692
+ }
8693
+ },
8694
+ "elementAria": {
8695
+ "type": "string",
8696
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
7521
8697
  }
7522
8698
  }
7523
8699
  }
@@ -7616,7 +8792,7 @@
7616
8792
  {
7617
8793
  "title": "Find element (simple)",
7618
8794
  "type": "string",
7619
- "description": "Display text or selector of the element to find."
8795
+ "description": "Identifier for the element to find. Can be a selector, element text, ARIA name, ID, or test ID."
7620
8796
  },
7621
8797
  {
7622
8798
  "title": "Find element (detailed)",
@@ -7631,17 +8807,85 @@
7631
8807
  "required": [
7632
8808
  "elementText"
7633
8809
  ]
8810
+ },
8811
+ {
8812
+ "required": [
8813
+ "elementId"
8814
+ ]
8815
+ },
8816
+ {
8817
+ "required": [
8818
+ "elementTestId"
8819
+ ]
8820
+ },
8821
+ {
8822
+ "required": [
8823
+ "elementClass"
8824
+ ]
8825
+ },
8826
+ {
8827
+ "required": [
8828
+ "elementAttribute"
8829
+ ]
8830
+ },
8831
+ {
8832
+ "required": [
8833
+ "elementAria"
8834
+ ]
7634
8835
  }
7635
8836
  ],
7636
8837
  "additionalProperties": false,
7637
8838
  "properties": {
7638
8839
  "elementText": {
7639
8840
  "type": "string",
7640
- "description": "Display text of the element to find. If combined with `selector`, the element must match both the text and the selector."
8841
+ "description": "Display text of the element to find. If combined with other element finding fields, the element must match all specified criteria."
7641
8842
  },
7642
8843
  "selector": {
7643
8844
  "type": "string",
7644
- "description": "Selector of the element to find. If combined with `elementText`, the element must match both the text and the selector."
8845
+ "description": "Selector of the element to find. If combined with other element finding fields, the element must match all specified criteria."
8846
+ },
8847
+ "elementId": {
8848
+ "type": "string",
8849
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
8850
+ },
8851
+ "elementTestId": {
8852
+ "type": "string",
8853
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
8854
+ },
8855
+ "elementClass": {
8856
+ "oneOf": [
8857
+ {
8858
+ "type": "string"
8859
+ },
8860
+ {
8861
+ "type": "array",
8862
+ "items": {
8863
+ "type": "string"
8864
+ }
8865
+ }
8866
+ ],
8867
+ "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."
8868
+ },
8869
+ "elementAttribute": {
8870
+ "type": "object",
8871
+ "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.",
8872
+ "additionalProperties": {
8873
+ "oneOf": [
8874
+ {
8875
+ "type": "string"
8876
+ },
8877
+ {
8878
+ "type": "number"
8879
+ },
8880
+ {
8881
+ "type": "boolean"
8882
+ }
8883
+ ]
8884
+ }
8885
+ },
8886
+ "elementAria": {
8887
+ "type": "string",
8888
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
7645
8889
  },
7646
8890
  "timeout": {
7647
8891
  "type": "integer",
@@ -7664,7 +8908,7 @@
7664
8908
  {
7665
8909
  "title": "Click element (simple)",
7666
8910
  "type": "string",
7667
- "description": "Display text or selector of the element to find."
8911
+ "description": "Identifier for the element to click. Can be a selector, element text, ARIA name, ID, or test ID."
7668
8912
  },
7669
8913
  {
7670
8914
  "title": "Click element (detailed)",
@@ -7679,6 +8923,31 @@
7679
8923
  "required": [
7680
8924
  "elementText"
7681
8925
  ]
8926
+ },
8927
+ {
8928
+ "required": [
8929
+ "elementId"
8930
+ ]
8931
+ },
8932
+ {
8933
+ "required": [
8934
+ "elementTestId"
8935
+ ]
8936
+ },
8937
+ {
8938
+ "required": [
8939
+ "elementClass"
8940
+ ]
8941
+ },
8942
+ {
8943
+ "required": [
8944
+ "elementAttribute"
8945
+ ]
8946
+ },
8947
+ {
8948
+ "required": [
8949
+ "elementAria"
8950
+ ]
7682
8951
  }
7683
8952
  ],
7684
8953
  "properties": {
@@ -7693,11 +8962,54 @@
7693
8962
  },
7694
8963
  "elementText": {
7695
8964
  "type": "string",
7696
- "description": "Display text of the element to click. If combined with `selector`, the element must match both the text and the selector."
8965
+ "description": "Display text of the element to click. If combined with other element finding fields, the element must match all specified criteria."
7697
8966
  },
7698
8967
  "selector": {
7699
8968
  "type": "string",
7700
- "description": "Selector of the element to click. If combined with `elementText`, the element must match both the text and the selector."
8969
+ "description": "Selector of the element to click. If combined with other element finding fields, the element must match all specified criteria."
8970
+ },
8971
+ "elementId": {
8972
+ "type": "string",
8973
+ "description": "ID attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
8974
+ },
8975
+ "elementTestId": {
8976
+ "type": "string",
8977
+ "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
8978
+ },
8979
+ "elementClass": {
8980
+ "oneOf": [
8981
+ {
8982
+ "type": "string"
8983
+ },
8984
+ {
8985
+ "type": "array",
8986
+ "items": {
8987
+ "type": "string"
8988
+ }
8989
+ }
8990
+ ],
8991
+ "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."
8992
+ },
8993
+ "elementAttribute": {
8994
+ "type": "object",
8995
+ "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.",
8996
+ "additionalProperties": {
8997
+ "oneOf": [
8998
+ {
8999
+ "type": "string"
9000
+ },
9001
+ {
9002
+ "type": "number"
9003
+ },
9004
+ {
9005
+ "type": "boolean"
9006
+ }
9007
+ ]
9008
+ }
9009
+ },
9010
+ "elementAria": {
9011
+ "type": "string",
9012
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
7701
9013
  }
7702
9014
  }
7703
9015
  },
@@ -7710,7 +9022,7 @@
7710
9022
  "string": {
7711
9023
  "title": "Click element (simple)",
7712
9024
  "type": "string",
7713
- "description": "Display text or selector of the element to find."
9025
+ "description": "Identifier for the element to click. Can be a selector, element text, ARIA name, ID, or test ID."
7714
9026
  },
7715
9027
  "button": {
7716
9028
  "description": "Kind of click to perform.",
@@ -7734,6 +9046,31 @@
7734
9046
  "required": [
7735
9047
  "elementText"
7736
9048
  ]
9049
+ },
9050
+ {
9051
+ "required": [
9052
+ "elementId"
9053
+ ]
9054
+ },
9055
+ {
9056
+ "required": [
9057
+ "elementTestId"
9058
+ ]
9059
+ },
9060
+ {
9061
+ "required": [
9062
+ "elementClass"
9063
+ ]
9064
+ },
9065
+ {
9066
+ "required": [
9067
+ "elementAttribute"
9068
+ ]
9069
+ },
9070
+ {
9071
+ "required": [
9072
+ "elementAria"
9073
+ ]
7737
9074
  }
7738
9075
  ],
7739
9076
  "properties": {
@@ -7748,11 +9085,54 @@
7748
9085
  },
7749
9086
  "elementText": {
7750
9087
  "type": "string",
7751
- "description": "Display text of the element to click. If combined with `selector`, the element must match both the text and the selector."
9088
+ "description": "Display text of the element to click. If combined with other element finding fields, the element must match all specified criteria."
9089
+ },
9090
+ "selector": {
9091
+ "type": "string",
9092
+ "description": "Selector of the element to click. If combined with other element finding fields, the element must match all specified criteria."
9093
+ },
9094
+ "elementId": {
9095
+ "type": "string",
9096
+ "description": "ID attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
9097
+ },
9098
+ "elementTestId": {
9099
+ "type": "string",
9100
+ "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
9101
+ },
9102
+ "elementClass": {
9103
+ "oneOf": [
9104
+ {
9105
+ "type": "string"
9106
+ },
9107
+ {
9108
+ "type": "array",
9109
+ "items": {
9110
+ "type": "string"
9111
+ }
9112
+ }
9113
+ ],
9114
+ "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."
9115
+ },
9116
+ "elementAttribute": {
9117
+ "type": "object",
9118
+ "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.",
9119
+ "additionalProperties": {
9120
+ "oneOf": [
9121
+ {
9122
+ "type": "string"
9123
+ },
9124
+ {
9125
+ "type": "number"
9126
+ },
9127
+ {
9128
+ "type": "boolean"
9129
+ }
9130
+ ]
9131
+ }
7752
9132
  },
7753
- "selector": {
9133
+ "elementAria": {
7754
9134
  "type": "string",
7755
- "description": "Selector of the element to click. If combined with `elementText`, the element must match both the text and the selector."
9135
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
7756
9136
  }
7757
9137
  }
7758
9138
  }
@@ -7847,6 +9227,53 @@
7847
9227
  "selector": {
7848
9228
  "type": "string",
7849
9229
  "description": "Selector for the element to type into. If not specified, the typing occurs in the active element."
9230
+ },
9231
+ "elementText": {
9232
+ "type": "string",
9233
+ "description": "Display text of the element to type into. If combined with other element finding fields, the element must match all specified criteria."
9234
+ },
9235
+ "elementId": {
9236
+ "type": "string",
9237
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
9238
+ },
9239
+ "elementTestId": {
9240
+ "type": "string",
9241
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
9242
+ },
9243
+ "elementClass": {
9244
+ "oneOf": [
9245
+ {
9246
+ "type": "string"
9247
+ },
9248
+ {
9249
+ "type": "array",
9250
+ "items": {
9251
+ "type": "string"
9252
+ }
9253
+ }
9254
+ ],
9255
+ "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."
9256
+ },
9257
+ "elementAttribute": {
9258
+ "type": "object",
9259
+ "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.",
9260
+ "additionalProperties": {
9261
+ "oneOf": [
9262
+ {
9263
+ "type": "string"
9264
+ },
9265
+ {
9266
+ "type": "number"
9267
+ },
9268
+ {
9269
+ "type": "boolean"
9270
+ }
9271
+ ]
9272
+ }
9273
+ },
9274
+ "elementAria": {
9275
+ "type": "string",
9276
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
7850
9277
  }
7851
9278
  },
7852
9279
  "required": [
@@ -7907,6 +9334,53 @@
7907
9334
  "selector": {
7908
9335
  "type": "string",
7909
9336
  "description": "Selector for the element to type into. If not specified, the typing occurs in the active element."
9337
+ },
9338
+ "elementText": {
9339
+ "type": "string",
9340
+ "description": "Display text of the element to type into. If combined with other element finding fields, the element must match all specified criteria."
9341
+ },
9342
+ "elementId": {
9343
+ "type": "string",
9344
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
9345
+ },
9346
+ "elementTestId": {
9347
+ "type": "string",
9348
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
9349
+ },
9350
+ "elementClass": {
9351
+ "oneOf": [
9352
+ {
9353
+ "type": "string"
9354
+ },
9355
+ {
9356
+ "type": "array",
9357
+ "items": {
9358
+ "type": "string"
9359
+ }
9360
+ }
9361
+ ],
9362
+ "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."
9363
+ },
9364
+ "elementAttribute": {
9365
+ "type": "object",
9366
+ "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.",
9367
+ "additionalProperties": {
9368
+ "oneOf": [
9369
+ {
9370
+ "type": "string"
9371
+ },
9372
+ {
9373
+ "type": "number"
9374
+ },
9375
+ {
9376
+ "type": "boolean"
9377
+ }
9378
+ ]
9379
+ }
9380
+ },
9381
+ "elementAria": {
9382
+ "type": "string",
9383
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
7910
9384
  }
7911
9385
  },
7912
9386
  "required": [
@@ -7947,7 +9421,12 @@
7947
9421
  "type": "object",
7948
9422
  "required": [
7949
9423
  "selector",
7950
- "elementText"
9424
+ "elementText",
9425
+ "elementId",
9426
+ "elementTestId",
9427
+ "elementClass",
9428
+ "elementAttribute",
9429
+ "elementAria"
7951
9430
  ],
7952
9431
  "title": "Find element and type"
7953
9432
  }
@@ -7962,7 +9441,7 @@
7962
9441
  "string": {
7963
9442
  "title": "Find element (simple)",
7964
9443
  "type": "string",
7965
- "description": "Display text or selector of the element to find."
9444
+ "description": "Identifier for the element to find. Can be a selector, element text, ARIA name, ID, or test ID."
7966
9445
  },
7967
9446
  "object": {
7968
9447
  "title": "Find element (detailed)",
@@ -7977,17 +9456,85 @@
7977
9456
  "required": [
7978
9457
  "elementText"
7979
9458
  ]
9459
+ },
9460
+ {
9461
+ "required": [
9462
+ "elementId"
9463
+ ]
9464
+ },
9465
+ {
9466
+ "required": [
9467
+ "elementTestId"
9468
+ ]
9469
+ },
9470
+ {
9471
+ "required": [
9472
+ "elementClass"
9473
+ ]
9474
+ },
9475
+ {
9476
+ "required": [
9477
+ "elementAttribute"
9478
+ ]
9479
+ },
9480
+ {
9481
+ "required": [
9482
+ "elementAria"
9483
+ ]
7980
9484
  }
7981
9485
  ],
7982
9486
  "additionalProperties": false,
7983
9487
  "properties": {
7984
9488
  "elementText": {
7985
9489
  "type": "string",
7986
- "description": "Display text of the element to find. If combined with `selector`, the element must match both the text and the selector."
9490
+ "description": "Display text of the element to find. If combined with other element finding fields, the element must match all specified criteria."
7987
9491
  },
7988
9492
  "selector": {
7989
9493
  "type": "string",
7990
- "description": "Selector of the element to find. If combined with `elementText`, the element must match both the text and the selector."
9494
+ "description": "Selector of the element to find. If combined with other element finding fields, the element must match all specified criteria."
9495
+ },
9496
+ "elementId": {
9497
+ "type": "string",
9498
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
9499
+ },
9500
+ "elementTestId": {
9501
+ "type": "string",
9502
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
9503
+ },
9504
+ "elementClass": {
9505
+ "oneOf": [
9506
+ {
9507
+ "type": "string"
9508
+ },
9509
+ {
9510
+ "type": "array",
9511
+ "items": {
9512
+ "type": "string"
9513
+ }
9514
+ }
9515
+ ],
9516
+ "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."
9517
+ },
9518
+ "elementAttribute": {
9519
+ "type": "object",
9520
+ "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.",
9521
+ "additionalProperties": {
9522
+ "oneOf": [
9523
+ {
9524
+ "type": "string"
9525
+ },
9526
+ {
9527
+ "type": "number"
9528
+ },
9529
+ {
9530
+ "type": "boolean"
9531
+ }
9532
+ ]
9533
+ }
9534
+ },
9535
+ "elementAria": {
9536
+ "type": "string",
9537
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
7991
9538
  },
7992
9539
  "timeout": {
7993
9540
  "type": "integer",
@@ -8010,7 +9557,7 @@
8010
9557
  {
8011
9558
  "title": "Click element (simple)",
8012
9559
  "type": "string",
8013
- "description": "Display text or selector of the element to find."
9560
+ "description": "Identifier for the element to click. Can be a selector, element text, ARIA name, ID, or test ID."
8014
9561
  },
8015
9562
  {
8016
9563
  "title": "Click element (detailed)",
@@ -8025,6 +9572,31 @@
8025
9572
  "required": [
8026
9573
  "elementText"
8027
9574
  ]
9575
+ },
9576
+ {
9577
+ "required": [
9578
+ "elementId"
9579
+ ]
9580
+ },
9581
+ {
9582
+ "required": [
9583
+ "elementTestId"
9584
+ ]
9585
+ },
9586
+ {
9587
+ "required": [
9588
+ "elementClass"
9589
+ ]
9590
+ },
9591
+ {
9592
+ "required": [
9593
+ "elementAttribute"
9594
+ ]
9595
+ },
9596
+ {
9597
+ "required": [
9598
+ "elementAria"
9599
+ ]
8028
9600
  }
8029
9601
  ],
8030
9602
  "properties": {
@@ -8039,11 +9611,54 @@
8039
9611
  },
8040
9612
  "elementText": {
8041
9613
  "type": "string",
8042
- "description": "Display text of the element to click. If combined with `selector`, the element must match both the text and the selector."
9614
+ "description": "Display text of the element to click. If combined with other element finding fields, the element must match all specified criteria."
8043
9615
  },
8044
9616
  "selector": {
8045
9617
  "type": "string",
8046
- "description": "Selector of the element to click. If combined with `elementText`, the element must match both the text and the selector."
9618
+ "description": "Selector of the element to click. If combined with other element finding fields, the element must match all specified criteria."
9619
+ },
9620
+ "elementId": {
9621
+ "type": "string",
9622
+ "description": "ID attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
9623
+ },
9624
+ "elementTestId": {
9625
+ "type": "string",
9626
+ "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
9627
+ },
9628
+ "elementClass": {
9629
+ "oneOf": [
9630
+ {
9631
+ "type": "string"
9632
+ },
9633
+ {
9634
+ "type": "array",
9635
+ "items": {
9636
+ "type": "string"
9637
+ }
9638
+ }
9639
+ ],
9640
+ "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."
9641
+ },
9642
+ "elementAttribute": {
9643
+ "type": "object",
9644
+ "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.",
9645
+ "additionalProperties": {
9646
+ "oneOf": [
9647
+ {
9648
+ "type": "string"
9649
+ },
9650
+ {
9651
+ "type": "number"
9652
+ },
9653
+ {
9654
+ "type": "boolean"
9655
+ }
9656
+ ]
9657
+ }
9658
+ },
9659
+ "elementAria": {
9660
+ "type": "string",
9661
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
8047
9662
  }
8048
9663
  }
8049
9664
  },
@@ -8056,7 +9671,7 @@
8056
9671
  "string": {
8057
9672
  "title": "Click element (simple)",
8058
9673
  "type": "string",
8059
- "description": "Display text or selector of the element to find."
9674
+ "description": "Identifier for the element to click. Can be a selector, element text, ARIA name, ID, or test ID."
8060
9675
  },
8061
9676
  "button": {
8062
9677
  "description": "Kind of click to perform.",
@@ -8080,6 +9695,31 @@
8080
9695
  "required": [
8081
9696
  "elementText"
8082
9697
  ]
9698
+ },
9699
+ {
9700
+ "required": [
9701
+ "elementId"
9702
+ ]
9703
+ },
9704
+ {
9705
+ "required": [
9706
+ "elementTestId"
9707
+ ]
9708
+ },
9709
+ {
9710
+ "required": [
9711
+ "elementClass"
9712
+ ]
9713
+ },
9714
+ {
9715
+ "required": [
9716
+ "elementAttribute"
9717
+ ]
9718
+ },
9719
+ {
9720
+ "required": [
9721
+ "elementAria"
9722
+ ]
8083
9723
  }
8084
9724
  ],
8085
9725
  "properties": {
@@ -8094,11 +9734,54 @@
8094
9734
  },
8095
9735
  "elementText": {
8096
9736
  "type": "string",
8097
- "description": "Display text of the element to click. If combined with `selector`, the element must match both the text and the selector."
9737
+ "description": "Display text of the element to click. If combined with other element finding fields, the element must match all specified criteria."
8098
9738
  },
8099
9739
  "selector": {
8100
9740
  "type": "string",
8101
- "description": "Selector of the element to click. If combined with `elementText`, the element must match both the text and the selector."
9741
+ "description": "Selector of the element to click. If combined with other element finding fields, the element must match all specified criteria."
9742
+ },
9743
+ "elementId": {
9744
+ "type": "string",
9745
+ "description": "ID attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
9746
+ },
9747
+ "elementTestId": {
9748
+ "type": "string",
9749
+ "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
9750
+ },
9751
+ "elementClass": {
9752
+ "oneOf": [
9753
+ {
9754
+ "type": "string"
9755
+ },
9756
+ {
9757
+ "type": "array",
9758
+ "items": {
9759
+ "type": "string"
9760
+ }
9761
+ }
9762
+ ],
9763
+ "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."
9764
+ },
9765
+ "elementAttribute": {
9766
+ "type": "object",
9767
+ "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.",
9768
+ "additionalProperties": {
9769
+ "oneOf": [
9770
+ {
9771
+ "type": "string"
9772
+ },
9773
+ {
9774
+ "type": "number"
9775
+ },
9776
+ {
9777
+ "type": "boolean"
9778
+ }
9779
+ ]
9780
+ }
9781
+ },
9782
+ "elementAria": {
9783
+ "type": "string",
9784
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
8102
9785
  }
8103
9786
  }
8104
9787
  }
@@ -8190,9 +9873,56 @@
8190
9873
  "description": "Delay in milliseconds between each key press during a recording",
8191
9874
  "default": 100
8192
9875
  },
8193
- "selector": {
9876
+ "selector": {
9877
+ "type": "string",
9878
+ "description": "Selector for the element to type into. If not specified, the typing occurs in the active element."
9879
+ },
9880
+ "elementText": {
9881
+ "type": "string",
9882
+ "description": "Display text of the element to type into. If combined with other element finding fields, the element must match all specified criteria."
9883
+ },
9884
+ "elementId": {
9885
+ "type": "string",
9886
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
9887
+ },
9888
+ "elementTestId": {
9889
+ "type": "string",
9890
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
9891
+ },
9892
+ "elementClass": {
9893
+ "oneOf": [
9894
+ {
9895
+ "type": "string"
9896
+ },
9897
+ {
9898
+ "type": "array",
9899
+ "items": {
9900
+ "type": "string"
9901
+ }
9902
+ }
9903
+ ],
9904
+ "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."
9905
+ },
9906
+ "elementAttribute": {
9907
+ "type": "object",
9908
+ "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.",
9909
+ "additionalProperties": {
9910
+ "oneOf": [
9911
+ {
9912
+ "type": "string"
9913
+ },
9914
+ {
9915
+ "type": "number"
9916
+ },
9917
+ {
9918
+ "type": "boolean"
9919
+ }
9920
+ ]
9921
+ }
9922
+ },
9923
+ "elementAria": {
8194
9924
  "type": "string",
8195
- "description": "Selector for the element to type into. If not specified, the typing occurs in the active element."
9925
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
8196
9926
  }
8197
9927
  },
8198
9928
  "required": [
@@ -8253,6 +9983,53 @@
8253
9983
  "selector": {
8254
9984
  "type": "string",
8255
9985
  "description": "Selector for the element to type into. If not specified, the typing occurs in the active element."
9986
+ },
9987
+ "elementText": {
9988
+ "type": "string",
9989
+ "description": "Display text of the element to type into. If combined with other element finding fields, the element must match all specified criteria."
9990
+ },
9991
+ "elementId": {
9992
+ "type": "string",
9993
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
9994
+ },
9995
+ "elementTestId": {
9996
+ "type": "string",
9997
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
9998
+ },
9999
+ "elementClass": {
10000
+ "oneOf": [
10001
+ {
10002
+ "type": "string"
10003
+ },
10004
+ {
10005
+ "type": "array",
10006
+ "items": {
10007
+ "type": "string"
10008
+ }
10009
+ }
10010
+ ],
10011
+ "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."
10012
+ },
10013
+ "elementAttribute": {
10014
+ "type": "object",
10015
+ "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.",
10016
+ "additionalProperties": {
10017
+ "oneOf": [
10018
+ {
10019
+ "type": "string"
10020
+ },
10021
+ {
10022
+ "type": "number"
10023
+ },
10024
+ {
10025
+ "type": "boolean"
10026
+ }
10027
+ ]
10028
+ }
10029
+ },
10030
+ "elementAria": {
10031
+ "type": "string",
10032
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
8256
10033
  }
8257
10034
  },
8258
10035
  "required": [
@@ -8293,7 +10070,12 @@
8293
10070
  "type": "object",
8294
10071
  "required": [
8295
10072
  "selector",
8296
- "elementText"
10073
+ "elementText",
10074
+ "elementId",
10075
+ "elementTestId",
10076
+ "elementClass",
10077
+ "elementAttribute",
10078
+ "elementAria"
8297
10079
  ],
8298
10080
  "title": "Find element and type"
8299
10081
  }
@@ -10291,6 +12073,53 @@
10291
12073
  "selector": {
10292
12074
  "type": "string",
10293
12075
  "description": "Selector for the element to type into. If not specified, the typing occurs in the active element."
12076
+ },
12077
+ "elementText": {
12078
+ "type": "string",
12079
+ "description": "Display text of the element to type into. If combined with other element finding fields, the element must match all specified criteria."
12080
+ },
12081
+ "elementId": {
12082
+ "type": "string",
12083
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
12084
+ },
12085
+ "elementTestId": {
12086
+ "type": "string",
12087
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
12088
+ },
12089
+ "elementClass": {
12090
+ "oneOf": [
12091
+ {
12092
+ "type": "string"
12093
+ },
12094
+ {
12095
+ "type": "array",
12096
+ "items": {
12097
+ "type": "string"
12098
+ }
12099
+ }
12100
+ ],
12101
+ "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."
12102
+ },
12103
+ "elementAttribute": {
12104
+ "type": "object",
12105
+ "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.",
12106
+ "additionalProperties": {
12107
+ "oneOf": [
12108
+ {
12109
+ "type": "string"
12110
+ },
12111
+ {
12112
+ "type": "number"
12113
+ },
12114
+ {
12115
+ "type": "boolean"
12116
+ }
12117
+ ]
12118
+ }
12119
+ },
12120
+ "elementAria": {
12121
+ "type": "string",
12122
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
10294
12123
  }
10295
12124
  },
10296
12125
  "required": [
@@ -10351,6 +12180,53 @@
10351
12180
  "selector": {
10352
12181
  "type": "string",
10353
12182
  "description": "Selector for the element to type into. If not specified, the typing occurs in the active element."
12183
+ },
12184
+ "elementText": {
12185
+ "type": "string",
12186
+ "description": "Display text of the element to type into. If combined with other element finding fields, the element must match all specified criteria."
12187
+ },
12188
+ "elementId": {
12189
+ "type": "string",
12190
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
12191
+ },
12192
+ "elementTestId": {
12193
+ "type": "string",
12194
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
12195
+ },
12196
+ "elementClass": {
12197
+ "oneOf": [
12198
+ {
12199
+ "type": "string"
12200
+ },
12201
+ {
12202
+ "type": "array",
12203
+ "items": {
12204
+ "type": "string"
12205
+ }
12206
+ }
12207
+ ],
12208
+ "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."
12209
+ },
12210
+ "elementAttribute": {
12211
+ "type": "object",
12212
+ "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.",
12213
+ "additionalProperties": {
12214
+ "oneOf": [
12215
+ {
12216
+ "type": "string"
12217
+ },
12218
+ {
12219
+ "type": "number"
12220
+ },
12221
+ {
12222
+ "type": "boolean"
12223
+ }
12224
+ ]
12225
+ }
12226
+ },
12227
+ "elementAria": {
12228
+ "type": "string",
12229
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
10354
12230
  }
10355
12231
  },
10356
12232
  "required": [
@@ -10530,6 +12406,31 @@
10530
12406
  "required": [
10531
12407
  "elementText"
10532
12408
  ]
12409
+ },
12410
+ {
12411
+ "required": [
12412
+ "elementId"
12413
+ ]
12414
+ },
12415
+ {
12416
+ "required": [
12417
+ "elementTestId"
12418
+ ]
12419
+ },
12420
+ {
12421
+ "required": [
12422
+ "elementClass"
12423
+ ]
12424
+ },
12425
+ {
12426
+ "required": [
12427
+ "elementAttribute"
12428
+ ]
12429
+ },
12430
+ {
12431
+ "required": [
12432
+ "elementAria"
12433
+ ]
10533
12434
  }
10534
12435
  ],
10535
12436
  "properties": {
@@ -10541,6 +12442,49 @@
10541
12442
  "type": "string",
10542
12443
  "description": "Selector of the element to screenshot."
10543
12444
  },
12445
+ "elementId": {
12446
+ "type": "string",
12447
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
12448
+ },
12449
+ "elementTestId": {
12450
+ "type": "string",
12451
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
12452
+ },
12453
+ "elementClass": {
12454
+ "oneOf": [
12455
+ {
12456
+ "type": "string"
12457
+ },
12458
+ {
12459
+ "type": "array",
12460
+ "items": {
12461
+ "type": "string"
12462
+ }
12463
+ }
12464
+ ],
12465
+ "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."
12466
+ },
12467
+ "elementAttribute": {
12468
+ "type": "object",
12469
+ "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.",
12470
+ "additionalProperties": {
12471
+ "oneOf": [
12472
+ {
12473
+ "type": "string"
12474
+ },
12475
+ {
12476
+ "type": "number"
12477
+ },
12478
+ {
12479
+ "type": "boolean"
12480
+ }
12481
+ ]
12482
+ }
12483
+ },
12484
+ "elementAria": {
12485
+ "type": "string",
12486
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
12487
+ },
10544
12488
  "padding": {
10545
12489
  "anyOf": [
10546
12490
  {
@@ -10658,6 +12602,31 @@
10658
12602
  "required": [
10659
12603
  "elementText"
10660
12604
  ]
12605
+ },
12606
+ {
12607
+ "required": [
12608
+ "elementId"
12609
+ ]
12610
+ },
12611
+ {
12612
+ "required": [
12613
+ "elementTestId"
12614
+ ]
12615
+ },
12616
+ {
12617
+ "required": [
12618
+ "elementClass"
12619
+ ]
12620
+ },
12621
+ {
12622
+ "required": [
12623
+ "elementAttribute"
12624
+ ]
12625
+ },
12626
+ {
12627
+ "required": [
12628
+ "elementAria"
12629
+ ]
10661
12630
  }
10662
12631
  ],
10663
12632
  "properties": {
@@ -10669,6 +12638,49 @@
10669
12638
  "type": "string",
10670
12639
  "description": "Selector of the element to screenshot."
10671
12640
  },
12641
+ "elementId": {
12642
+ "type": "string",
12643
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
12644
+ },
12645
+ "elementTestId": {
12646
+ "type": "string",
12647
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
12648
+ },
12649
+ "elementClass": {
12650
+ "oneOf": [
12651
+ {
12652
+ "type": "string"
12653
+ },
12654
+ {
12655
+ "type": "array",
12656
+ "items": {
12657
+ "type": "string"
12658
+ }
12659
+ }
12660
+ ],
12661
+ "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."
12662
+ },
12663
+ "elementAttribute": {
12664
+ "type": "object",
12665
+ "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.",
12666
+ "additionalProperties": {
12667
+ "oneOf": [
12668
+ {
12669
+ "type": "string"
12670
+ },
12671
+ {
12672
+ "type": "number"
12673
+ },
12674
+ {
12675
+ "type": "boolean"
12676
+ }
12677
+ ]
12678
+ }
12679
+ },
12680
+ "elementAria": {
12681
+ "type": "string",
12682
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
12683
+ },
10672
12684
  "padding": {
10673
12685
  "anyOf": [
10674
12686
  {
@@ -10725,6 +12737,31 @@
10725
12737
  "required": [
10726
12738
  "elementText"
10727
12739
  ]
12740
+ },
12741
+ {
12742
+ "required": [
12743
+ "elementId"
12744
+ ]
12745
+ },
12746
+ {
12747
+ "required": [
12748
+ "elementTestId"
12749
+ ]
12750
+ },
12751
+ {
12752
+ "required": [
12753
+ "elementClass"
12754
+ ]
12755
+ },
12756
+ {
12757
+ "required": [
12758
+ "elementAttribute"
12759
+ ]
12760
+ },
12761
+ {
12762
+ "required": [
12763
+ "elementAria"
12764
+ ]
10728
12765
  }
10729
12766
  ],
10730
12767
  "properties": {
@@ -10736,6 +12773,49 @@
10736
12773
  "type": "string",
10737
12774
  "description": "Selector of the element to screenshot."
10738
12775
  },
12776
+ "elementId": {
12777
+ "type": "string",
12778
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
12779
+ },
12780
+ "elementTestId": {
12781
+ "type": "string",
12782
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
12783
+ },
12784
+ "elementClass": {
12785
+ "oneOf": [
12786
+ {
12787
+ "type": "string"
12788
+ },
12789
+ {
12790
+ "type": "array",
12791
+ "items": {
12792
+ "type": "string"
12793
+ }
12794
+ }
12795
+ ],
12796
+ "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."
12797
+ },
12798
+ "elementAttribute": {
12799
+ "type": "object",
12800
+ "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.",
12801
+ "additionalProperties": {
12802
+ "oneOf": [
12803
+ {
12804
+ "type": "string"
12805
+ },
12806
+ {
12807
+ "type": "number"
12808
+ },
12809
+ {
12810
+ "type": "boolean"
12811
+ }
12812
+ ]
12813
+ }
12814
+ },
12815
+ "elementAria": {
12816
+ "type": "string",
12817
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
12818
+ },
10739
12819
  "padding": {
10740
12820
  "anyOf": [
10741
12821
  {