@browserbasehq/orca 3.4.0-preview-3 → 3.4.0-preview-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 (785) hide show
  1. package/dist/cjs/lib/v3/agent/AgentProvider.d.ts +1 -1
  2. package/dist/cjs/lib/v3/agent/AgentProvider.js.map +1 -1
  3. package/dist/cjs/lib/v3/agent/AnthropicCUAClient.js +10 -0
  4. package/dist/cjs/lib/v3/agent/AnthropicCUAClient.js.map +1 -1
  5. package/dist/cjs/lib/v3/handlers/v3CuaAgentHandler.js +1 -0
  6. package/dist/cjs/lib/v3/handlers/v3CuaAgentHandler.js.map +1 -1
  7. package/dist/cjs/lib/v3/launch/local.d.ts +2 -7
  8. package/dist/cjs/lib/v3/launch/local.js +47 -7
  9. package/dist/cjs/lib/v3/launch/local.js.map +1 -1
  10. package/dist/cjs/lib/v3/llm/aisdk.js +5 -0
  11. package/dist/cjs/lib/v3/llm/aisdk.js.map +1 -1
  12. package/dist/cjs/lib/v3/types/private/snapshot.d.ts +2 -0
  13. package/dist/cjs/lib/v3/types/private/snapshot.js.map +1 -1
  14. package/dist/cjs/lib/v3/types/public/agent.d.ts +1 -1
  15. package/dist/cjs/lib/v3/types/public/agent.js.map +1 -1
  16. package/dist/cjs/lib/v3/types/public/api.d.ts +283 -0
  17. package/dist/cjs/lib/v3/types/public/api.js +50 -3
  18. package/dist/cjs/lib/v3/types/public/api.js.map +1 -1
  19. package/dist/cjs/lib/v3/types/public/model.d.ts +11 -7
  20. package/dist/cjs/lib/v3/types/public/model.js.map +1 -1
  21. package/dist/cjs/lib/v3/understudy/a11y/snapshot/a11yTree.js +25 -0
  22. package/dist/cjs/lib/v3/understudy/a11y/snapshot/a11yTree.js.map +1 -1
  23. package/dist/cjs/lib/v3/understudy/a11y/snapshot/treeFormatUtils.js +10 -1
  24. package/dist/cjs/lib/v3/understudy/a11y/snapshot/treeFormatUtils.js.map +1 -1
  25. package/dist/cjs/lib/v3/v3.js +2 -47
  26. package/dist/cjs/lib/v3/v3.js.map +1 -1
  27. package/dist/cjs/lib/version.d.ts +1 -1
  28. package/dist/cjs/lib/version.js +1 -1
  29. package/dist/cjs/lib/version.js.map +1 -1
  30. package/dist/esm/lib/v3/agent/AgentProvider.d.ts +1 -1
  31. package/dist/esm/lib/v3/agent/AgentProvider.js.map +1 -1
  32. package/dist/esm/lib/v3/agent/AnthropicCUAClient.js +10 -0
  33. package/dist/esm/lib/v3/agent/AnthropicCUAClient.js.map +1 -1
  34. package/dist/esm/lib/v3/handlers/v3CuaAgentHandler.js +1 -0
  35. package/dist/esm/lib/v3/handlers/v3CuaAgentHandler.js.map +1 -1
  36. package/dist/esm/lib/v3/launch/local.d.ts +2 -7
  37. package/dist/esm/lib/v3/launch/local.js +48 -8
  38. package/dist/esm/lib/v3/launch/local.js.map +1 -1
  39. package/dist/esm/lib/v3/llm/aisdk.js +5 -0
  40. package/dist/esm/lib/v3/llm/aisdk.js.map +1 -1
  41. package/dist/esm/lib/v3/types/private/snapshot.d.ts +2 -0
  42. package/dist/esm/lib/v3/types/private/snapshot.js.map +1 -1
  43. package/dist/esm/lib/v3/types/public/agent.d.ts +1 -1
  44. package/dist/esm/lib/v3/types/public/agent.js.map +1 -1
  45. package/dist/esm/lib/v3/types/public/api.d.ts +283 -0
  46. package/dist/esm/lib/v3/types/public/api.js +48 -1
  47. package/dist/esm/lib/v3/types/public/api.js.map +1 -1
  48. package/dist/esm/lib/v3/types/public/model.d.ts +11 -7
  49. package/dist/esm/lib/v3/types/public/model.js.map +1 -1
  50. package/dist/esm/lib/v3/understudy/a11y/snapshot/a11yTree.js +25 -0
  51. package/dist/esm/lib/v3/understudy/a11y/snapshot/a11yTree.js.map +1 -1
  52. package/dist/esm/lib/v3/understudy/a11y/snapshot/treeFormatUtils.js +10 -1
  53. package/dist/esm/lib/v3/understudy/a11y/snapshot/treeFormatUtils.js.map +1 -1
  54. package/dist/esm/lib/v3/v3.js +2 -47
  55. package/dist/esm/lib/v3/v3.js.map +1 -1
  56. package/dist/esm/lib/version.d.ts +1 -1
  57. package/dist/esm/lib/version.js +1 -1
  58. package/dist/esm/lib/version.js.map +1 -1
  59. package/package.json +8 -8
  60. package/dist/cjs/tests/cache-variables.test.d.ts +0 -1
  61. package/dist/cjs/tests/cache-variables.test.js +0 -221
  62. package/dist/cjs/tests/cache-variables.test.js.map +0 -1
  63. package/dist/cjs/tests/integration/agent-abort-signal.spec.d.ts +0 -1
  64. package/dist/cjs/tests/integration/agent-abort-signal.spec.js +0 -123
  65. package/dist/cjs/tests/integration/agent-abort-signal.spec.js.map +0 -1
  66. package/dist/cjs/tests/integration/agent-cache-self-heal.spec.d.ts +0 -1
  67. package/dist/cjs/tests/integration/agent-cache-self-heal.spec.js +0 -83
  68. package/dist/cjs/tests/integration/agent-cache-self-heal.spec.js.map +0 -1
  69. package/dist/cjs/tests/integration/agent-callbacks.spec.d.ts +0 -1
  70. package/dist/cjs/tests/integration/agent-callbacks.spec.js +0 -385
  71. package/dist/cjs/tests/integration/agent-callbacks.spec.js.map +0 -1
  72. package/dist/cjs/tests/integration/agent-experimental-validation.spec.d.ts +0 -1
  73. package/dist/cjs/tests/integration/agent-experimental-validation.spec.js +0 -362
  74. package/dist/cjs/tests/integration/agent-experimental-validation.spec.js.map +0 -1
  75. package/dist/cjs/tests/integration/agent-hybrid-mode.spec.d.ts +0 -1
  76. package/dist/cjs/tests/integration/agent-hybrid-mode.spec.js +0 -262
  77. package/dist/cjs/tests/integration/agent-hybrid-mode.spec.js.map +0 -1
  78. package/dist/cjs/tests/integration/agent-message-continuation.spec.d.ts +0 -1
  79. package/dist/cjs/tests/integration/agent-message-continuation.spec.js +0 -112
  80. package/dist/cjs/tests/integration/agent-message-continuation.spec.js.map +0 -1
  81. package/dist/cjs/tests/integration/agent-streaming.spec.d.ts +0 -1
  82. package/dist/cjs/tests/integration/agent-streaming.spec.js +0 -140
  83. package/dist/cjs/tests/integration/agent-streaming.spec.js.map +0 -1
  84. package/dist/cjs/tests/integration/cdp-close-api-region.spec.d.ts +0 -1
  85. package/dist/cjs/tests/integration/cdp-close-api-region.spec.js +0 -41
  86. package/dist/cjs/tests/integration/cdp-close-api-region.spec.js.map +0 -1
  87. package/dist/cjs/tests/integration/cdp-connection-close.spec.d.ts +0 -1
  88. package/dist/cjs/tests/integration/cdp-connection-close.spec.js +0 -76
  89. package/dist/cjs/tests/integration/cdp-connection-close.spec.js.map +0 -1
  90. package/dist/cjs/tests/integration/cdp-session-detached.spec.d.ts +0 -1
  91. package/dist/cjs/tests/integration/cdp-session-detached.spec.js +0 -45
  92. package/dist/cjs/tests/integration/cdp-session-detached.spec.js.map +0 -1
  93. package/dist/cjs/tests/integration/chrome-newtab-page-tracking.spec.d.ts +0 -1
  94. package/dist/cjs/tests/integration/chrome-newtab-page-tracking.spec.js +0 -56
  95. package/dist/cjs/tests/integration/chrome-newtab-page-tracking.spec.js.map +0 -1
  96. package/dist/cjs/tests/integration/click-count.spec.d.ts +0 -1
  97. package/dist/cjs/tests/integration/click-count.spec.js +0 -163
  98. package/dist/cjs/tests/integration/click-count.spec.js.map +0 -1
  99. package/dist/cjs/tests/integration/connect-to-existing-browser.spec.d.ts +0 -1
  100. package/dist/cjs/tests/integration/connect-to-existing-browser.spec.js +0 -99
  101. package/dist/cjs/tests/integration/connect-to-existing-browser.spec.js.map +0 -1
  102. package/dist/cjs/tests/integration/context-addInitScript.spec.d.ts +0 -1
  103. package/dist/cjs/tests/integration/context-addInitScript.spec.js +0 -285
  104. package/dist/cjs/tests/integration/context-addInitScript.spec.js.map +0 -1
  105. package/dist/cjs/tests/integration/context-extra-http-headers.spec.d.ts +0 -1
  106. package/dist/cjs/tests/integration/context-extra-http-headers.spec.js +0 -49
  107. package/dist/cjs/tests/integration/context-extra-http-headers.spec.js.map +0 -1
  108. package/dist/cjs/tests/integration/cookies.spec.d.ts +0 -1
  109. package/dist/cjs/tests/integration/cookies.spec.js +0 -187
  110. package/dist/cjs/tests/integration/cookies.spec.js.map +0 -1
  111. package/dist/cjs/tests/integration/default-page-tracking.spec.d.ts +0 -1
  112. package/dist/cjs/tests/integration/default-page-tracking.spec.js +0 -52
  113. package/dist/cjs/tests/integration/default-page-tracking.spec.js.map +0 -1
  114. package/dist/cjs/tests/integration/downloads.spec.d.ts +0 -1
  115. package/dist/cjs/tests/integration/downloads.spec.js +0 -52
  116. package/dist/cjs/tests/integration/downloads.spec.js.map +0 -1
  117. package/dist/cjs/tests/integration/flowLogger.spec.d.ts +0 -1
  118. package/dist/cjs/tests/integration/flowLogger.spec.js +0 -718
  119. package/dist/cjs/tests/integration/flowLogger.spec.js.map +0 -1
  120. package/dist/cjs/tests/integration/frame-get-location-and-click.spec.d.ts +0 -1
  121. package/dist/cjs/tests/integration/frame-get-location-and-click.spec.js +0 -57
  122. package/dist/cjs/tests/integration/frame-get-location-and-click.spec.js.map +0 -1
  123. package/dist/cjs/tests/integration/iframe-ctx-addInitScript-race.spec.d.ts +0 -1
  124. package/dist/cjs/tests/integration/iframe-ctx-addInitScript-race.spec.js +0 -219
  125. package/dist/cjs/tests/integration/iframe-ctx-addInitScript-race.spec.js.map +0 -1
  126. package/dist/cjs/tests/integration/iframe-ctx-addInitScript.spec.d.ts +0 -1
  127. package/dist/cjs/tests/integration/iframe-ctx-addInitScript.spec.js +0 -474
  128. package/dist/cjs/tests/integration/iframe-ctx-addInitScript.spec.js.map +0 -1
  129. package/dist/cjs/tests/integration/keep-alive.child.d.ts +0 -1
  130. package/dist/cjs/tests/integration/keep-alive.child.js +0 -85
  131. package/dist/cjs/tests/integration/keep-alive.child.js.map +0 -1
  132. package/dist/cjs/tests/integration/keep-alive.spec.d.ts +0 -22
  133. package/dist/cjs/tests/integration/keep-alive.spec.js +0 -490
  134. package/dist/cjs/tests/integration/keep-alive.spec.js.map +0 -1
  135. package/dist/cjs/tests/integration/keyboard.spec.d.ts +0 -1
  136. package/dist/cjs/tests/integration/keyboard.spec.js +0 -259
  137. package/dist/cjs/tests/integration/keyboard.spec.js.map +0 -1
  138. package/dist/cjs/tests/integration/locator-backend-node-id.spec.d.ts +0 -1
  139. package/dist/cjs/tests/integration/locator-backend-node-id.spec.js +0 -150
  140. package/dist/cjs/tests/integration/locator-backend-node-id.spec.js.map +0 -1
  141. package/dist/cjs/tests/integration/locator-content-methods.spec.d.ts +0 -1
  142. package/dist/cjs/tests/integration/locator-content-methods.spec.js +0 -180
  143. package/dist/cjs/tests/integration/locator-content-methods.spec.js.map +0 -1
  144. package/dist/cjs/tests/integration/locator-count-iframe.spec.d.ts +0 -1
  145. package/dist/cjs/tests/integration/locator-count-iframe.spec.js +0 -129
  146. package/dist/cjs/tests/integration/locator-count-iframe.spec.js.map +0 -1
  147. package/dist/cjs/tests/integration/locator-count.spec.d.ts +0 -1
  148. package/dist/cjs/tests/integration/locator-count.spec.js +0 -68
  149. package/dist/cjs/tests/integration/locator-count.spec.js.map +0 -1
  150. package/dist/cjs/tests/integration/locator-fill.spec.d.ts +0 -1
  151. package/dist/cjs/tests/integration/locator-fill.spec.js +0 -117
  152. package/dist/cjs/tests/integration/locator-fill.spec.js.map +0 -1
  153. package/dist/cjs/tests/integration/locator-input-methods.spec.d.ts +0 -1
  154. package/dist/cjs/tests/integration/locator-input-methods.spec.js +0 -127
  155. package/dist/cjs/tests/integration/locator-input-methods.spec.js.map +0 -1
  156. package/dist/cjs/tests/integration/locator-nth.spec.d.ts +0 -1
  157. package/dist/cjs/tests/integration/locator-nth.spec.js +0 -175
  158. package/dist/cjs/tests/integration/locator-nth.spec.js.map +0 -1
  159. package/dist/cjs/tests/integration/locator-select-option.spec.d.ts +0 -1
  160. package/dist/cjs/tests/integration/locator-select-option.spec.js +0 -216
  161. package/dist/cjs/tests/integration/locator-select-option.spec.js.map +0 -1
  162. package/dist/cjs/tests/integration/logger-initialization.spec.d.ts +0 -1
  163. package/dist/cjs/tests/integration/logger-initialization.spec.js +0 -597
  164. package/dist/cjs/tests/integration/logger-initialization.spec.js.map +0 -1
  165. package/dist/cjs/tests/integration/multi-instance-logger.spec.d.ts +0 -1
  166. package/dist/cjs/tests/integration/multi-instance-logger.spec.js +0 -293
  167. package/dist/cjs/tests/integration/multi-instance-logger.spec.js.map +0 -1
  168. package/dist/cjs/tests/integration/nested-div.spec.d.ts +0 -1
  169. package/dist/cjs/tests/integration/nested-div.spec.js +0 -22
  170. package/dist/cjs/tests/integration/nested-div.spec.js.map +0 -1
  171. package/dist/cjs/tests/integration/observe-element-id-format.spec.d.ts +0 -1
  172. package/dist/cjs/tests/integration/observe-element-id-format.spec.js +0 -130
  173. package/dist/cjs/tests/integration/observe-element-id-format.spec.js.map +0 -1
  174. package/dist/cjs/tests/integration/page-addInitScript.spec.d.ts +0 -1
  175. package/dist/cjs/tests/integration/page-addInitScript.spec.js +0 -94
  176. package/dist/cjs/tests/integration/page-addInitScript.spec.js.map +0 -1
  177. package/dist/cjs/tests/integration/page-console.spec.d.ts +0 -1
  178. package/dist/cjs/tests/integration/page-console.spec.js +0 -47
  179. package/dist/cjs/tests/integration/page-console.spec.js.map +0 -1
  180. package/dist/cjs/tests/integration/page-drag-and-drop.spec.d.ts +0 -1
  181. package/dist/cjs/tests/integration/page-drag-and-drop.spec.js +0 -437
  182. package/dist/cjs/tests/integration/page-drag-and-drop.spec.js.map +0 -1
  183. package/dist/cjs/tests/integration/page-extra-http-headers.spec.d.ts +0 -1
  184. package/dist/cjs/tests/integration/page-extra-http-headers.spec.js +0 -85
  185. package/dist/cjs/tests/integration/page-extra-http-headers.spec.js.map +0 -1
  186. package/dist/cjs/tests/integration/page-goto-response.spec.d.ts +0 -1
  187. package/dist/cjs/tests/integration/page-goto-response.spec.js +0 -34
  188. package/dist/cjs/tests/integration/page-goto-response.spec.js.map +0 -1
  189. package/dist/cjs/tests/integration/page-hover.spec.d.ts +0 -1
  190. package/dist/cjs/tests/integration/page-hover.spec.js +0 -165
  191. package/dist/cjs/tests/integration/page-hover.spec.js.map +0 -1
  192. package/dist/cjs/tests/integration/page-screenshot.spec.d.ts +0 -1
  193. package/dist/cjs/tests/integration/page-screenshot.spec.js +0 -292
  194. package/dist/cjs/tests/integration/page-screenshot.spec.js.map +0 -1
  195. package/dist/cjs/tests/integration/page-scroll.spec.d.ts +0 -1
  196. package/dist/cjs/tests/integration/page-scroll.spec.js +0 -183
  197. package/dist/cjs/tests/integration/page-scroll.spec.js.map +0 -1
  198. package/dist/cjs/tests/integration/page-send-cdp.spec.d.ts +0 -1
  199. package/dist/cjs/tests/integration/page-send-cdp.spec.js +0 -47
  200. package/dist/cjs/tests/integration/page-send-cdp.spec.js.map +0 -1
  201. package/dist/cjs/tests/integration/perform-understudy-method.spec.d.ts +0 -1
  202. package/dist/cjs/tests/integration/perform-understudy-method.spec.js +0 -63
  203. package/dist/cjs/tests/integration/perform-understudy-method.spec.js.map +0 -1
  204. package/dist/cjs/tests/integration/setinputfiles.spec.d.ts +0 -1
  205. package/dist/cjs/tests/integration/setinputfiles.spec.js +0 -133
  206. package/dist/cjs/tests/integration/setinputfiles.spec.js.map +0 -1
  207. package/dist/cjs/tests/integration/shadow-iframe-oopif.spec.d.ts +0 -1
  208. package/dist/cjs/tests/integration/shadow-iframe-oopif.spec.js +0 -161
  209. package/dist/cjs/tests/integration/shadow-iframe-oopif.spec.js.map +0 -1
  210. package/dist/cjs/tests/integration/shadow-iframe-spif.spec.d.ts +0 -1
  211. package/dist/cjs/tests/integration/shadow-iframe-spif.spec.js +0 -160
  212. package/dist/cjs/tests/integration/shadow-iframe-spif.spec.js.map +0 -1
  213. package/dist/cjs/tests/integration/testUtils.d.ts +0 -40
  214. package/dist/cjs/tests/integration/testUtils.js +0 -188
  215. package/dist/cjs/tests/integration/testUtils.js.map +0 -1
  216. package/dist/cjs/tests/integration/text-selector-innermost.spec.d.ts +0 -1
  217. package/dist/cjs/tests/integration/text-selector-innermost.spec.js +0 -105
  218. package/dist/cjs/tests/integration/text-selector-innermost.spec.js.map +0 -1
  219. package/dist/cjs/tests/integration/timeouts.spec.d.ts +0 -1
  220. package/dist/cjs/tests/integration/timeouts.spec.js +0 -309
  221. package/dist/cjs/tests/integration/timeouts.spec.js.map +0 -1
  222. package/dist/cjs/tests/integration/user-data-dir.spec.d.ts +0 -1
  223. package/dist/cjs/tests/integration/user-data-dir.spec.js +0 -77
  224. package/dist/cjs/tests/integration/user-data-dir.spec.js.map +0 -1
  225. package/dist/cjs/tests/integration/v3.config.d.ts +0 -4
  226. package/dist/cjs/tests/integration/v3.config.js +0 -11
  227. package/dist/cjs/tests/integration/v3.config.js.map +0 -1
  228. package/dist/cjs/tests/integration/v3.dynamic.config.d.ts +0 -4
  229. package/dist/cjs/tests/integration/v3.dynamic.config.js +0 -48
  230. package/dist/cjs/tests/integration/v3.dynamic.config.js.map +0 -1
  231. package/dist/cjs/tests/integration/v3.playwright.config.d.ts +0 -2
  232. package/dist/cjs/tests/integration/v3.playwright.config.js +0 -48
  233. package/dist/cjs/tests/integration/v3.playwright.config.js.map +0 -1
  234. package/dist/cjs/tests/integration/wait-for-selector.spec.d.ts +0 -1
  235. package/dist/cjs/tests/integration/wait-for-selector.spec.js +0 -683
  236. package/dist/cjs/tests/integration/wait-for-selector.spec.js.map +0 -1
  237. package/dist/cjs/tests/integration/wait-for-timeout.spec.d.ts +0 -1
  238. package/dist/cjs/tests/integration/wait-for-timeout.spec.js +0 -118
  239. package/dist/cjs/tests/integration/wait-for-timeout.spec.js.map +0 -1
  240. package/dist/cjs/tests/integration/xpath-for-location-deep.spec.d.ts +0 -1
  241. package/dist/cjs/tests/integration/xpath-for-location-deep.spec.js +0 -87
  242. package/dist/cjs/tests/integration/xpath-for-location-deep.spec.js.map +0 -1
  243. package/dist/cjs/tests/unit/agent-captcha-hooks.test.d.ts +0 -1
  244. package/dist/cjs/tests/unit/agent-captcha-hooks.test.js +0 -341
  245. package/dist/cjs/tests/unit/agent-captcha-hooks.test.js.map +0 -1
  246. package/dist/cjs/tests/unit/agent-execution-model.test.d.ts +0 -1
  247. package/dist/cjs/tests/unit/agent-execution-model.test.js +0 -150
  248. package/dist/cjs/tests/unit/agent-execution-model.test.js.map +0 -1
  249. package/dist/cjs/tests/unit/agent-metrics.test.d.ts +0 -1
  250. package/dist/cjs/tests/unit/agent-metrics.test.js +0 -112
  251. package/dist/cjs/tests/unit/agent-metrics.test.js.map +0 -1
  252. package/dist/cjs/tests/unit/agent-mode-routing.test.d.ts +0 -1
  253. package/dist/cjs/tests/unit/agent-mode-routing.test.js +0 -88
  254. package/dist/cjs/tests/unit/agent-mode-routing.test.js.map +0 -1
  255. package/dist/cjs/tests/unit/agent-system-prompt-variables.test.d.ts +0 -1
  256. package/dist/cjs/tests/unit/agent-system-prompt-variables.test.js +0 -23
  257. package/dist/cjs/tests/unit/agent-system-prompt-variables.test.js.map +0 -1
  258. package/dist/cjs/tests/unit/agent-temperature.test.d.ts +0 -1
  259. package/dist/cjs/tests/unit/agent-temperature.test.js +0 -191
  260. package/dist/cjs/tests/unit/agent-temperature.test.js.map +0 -1
  261. package/dist/cjs/tests/unit/agent-variables-validation.test.d.ts +0 -1
  262. package/dist/cjs/tests/unit/agent-variables-validation.test.js +0 -43
  263. package/dist/cjs/tests/unit/agent-variables-validation.test.js.map +0 -1
  264. package/dist/cjs/tests/unit/aisdk-clients.test.d.ts +0 -1
  265. package/dist/cjs/tests/unit/aisdk-clients.test.js +0 -86
  266. package/dist/cjs/tests/unit/aisdk-clients.test.js.map +0 -1
  267. package/dist/cjs/tests/unit/anthropic-cua-adaptive-thinking.test.d.ts +0 -1
  268. package/dist/cjs/tests/unit/anthropic-cua-adaptive-thinking.test.js +0 -250
  269. package/dist/cjs/tests/unit/anthropic-cua-adaptive-thinking.test.js.map +0 -1
  270. package/dist/cjs/tests/unit/api-client-observe-variables.test.d.ts +0 -1
  271. package/dist/cjs/tests/unit/api-client-observe-variables.test.js +0 -135
  272. package/dist/cjs/tests/unit/api-client-observe-variables.test.js.map +0 -1
  273. package/dist/cjs/tests/unit/api-multiregion.test.d.ts +0 -1
  274. package/dist/cjs/tests/unit/api-multiregion.test.js +0 -58
  275. package/dist/cjs/tests/unit/api-multiregion.test.js.map +0 -1
  276. package/dist/cjs/tests/unit/api-optional-model-api-key.test.d.ts +0 -1
  277. package/dist/cjs/tests/unit/api-optional-model-api-key.test.js +0 -155
  278. package/dist/cjs/tests/unit/api-optional-model-api-key.test.js.map +0 -1
  279. package/dist/cjs/tests/unit/api-variables-schema.test.d.ts +0 -1
  280. package/dist/cjs/tests/unit/api-variables-schema.test.js +0 -69
  281. package/dist/cjs/tests/unit/api-variables-schema.test.js.map +0 -1
  282. package/dist/cjs/tests/unit/browserbase-session-accessors.test.d.ts +0 -1
  283. package/dist/cjs/tests/unit/browserbase-session-accessors.test.js +0 -142
  284. package/dist/cjs/tests/unit/browserbase-session-accessors.test.js.map +0 -1
  285. package/dist/cjs/tests/unit/cache-llm-resolution.test.d.ts +0 -1
  286. package/dist/cjs/tests/unit/cache-llm-resolution.test.js +0 -186
  287. package/dist/cjs/tests/unit/cache-llm-resolution.test.js.map +0 -1
  288. package/dist/cjs/tests/unit/captcha-solver.test.d.ts +0 -1
  289. package/dist/cjs/tests/unit/captcha-solver.test.js +0 -154
  290. package/dist/cjs/tests/unit/captcha-solver.test.js.map +0 -1
  291. package/dist/cjs/tests/unit/cdp-connection-close.test.d.ts +0 -1
  292. package/dist/cjs/tests/unit/cdp-connection-close.test.js +0 -74
  293. package/dist/cjs/tests/unit/cdp-connection-close.test.js.map +0 -1
  294. package/dist/cjs/tests/unit/context-extra-http-headers.test.d.ts +0 -1
  295. package/dist/cjs/tests/unit/context-extra-http-headers.test.js +0 -58
  296. package/dist/cjs/tests/unit/context-extra-http-headers.test.js.map +0 -1
  297. package/dist/cjs/tests/unit/cookies.test.d.ts +0 -1
  298. package/dist/cjs/tests/unit/cookies.test.js +0 -944
  299. package/dist/cjs/tests/unit/cookies.test.js.map +0 -1
  300. package/dist/cjs/tests/unit/flowlogger-capturing-cdp.test.d.ts +0 -1
  301. package/dist/cjs/tests/unit/flowlogger-capturing-cdp.test.js +0 -95
  302. package/dist/cjs/tests/unit/flowlogger-capturing-cdp.test.js.map +0 -1
  303. package/dist/cjs/tests/unit/flowlogger-capturing-llm.test.d.ts +0 -1
  304. package/dist/cjs/tests/unit/flowlogger-capturing-llm.test.js +0 -43
  305. package/dist/cjs/tests/unit/flowlogger-capturing-llm.test.js.map +0 -1
  306. package/dist/cjs/tests/unit/flowlogger-eventstore.test.d.ts +0 -1
  307. package/dist/cjs/tests/unit/flowlogger-eventstore.test.js +0 -250
  308. package/dist/cjs/tests/unit/flowlogger-eventstore.test.js.map +0 -1
  309. package/dist/cjs/tests/unit/frame-registry-oopif-adoption.test.d.ts +0 -1
  310. package/dist/cjs/tests/unit/frame-registry-oopif-adoption.test.js +0 -60
  311. package/dist/cjs/tests/unit/frame-registry-oopif-adoption.test.js.map +0 -1
  312. package/dist/cjs/tests/unit/helpers/mockCDPSession.d.ts +0 -19
  313. package/dist/cjs/tests/unit/helpers/mockCDPSession.js +0 -29
  314. package/dist/cjs/tests/unit/helpers/mockCDPSession.js.map +0 -1
  315. package/dist/cjs/tests/unit/inference-temperature.test.d.ts +0 -1
  316. package/dist/cjs/tests/unit/inference-temperature.test.js +0 -65
  317. package/dist/cjs/tests/unit/inference-temperature.test.js.map +0 -1
  318. package/dist/cjs/tests/unit/llm-middleware.test.d.ts +0 -1
  319. package/dist/cjs/tests/unit/llm-middleware.test.js +0 -495
  320. package/dist/cjs/tests/unit/llm-middleware.test.js.map +0 -1
  321. package/dist/cjs/tests/unit/llm-provider.test.d.ts +0 -1
  322. package/dist/cjs/tests/unit/llm-provider.test.js +0 -64
  323. package/dist/cjs/tests/unit/llm-provider.test.js.map +0 -1
  324. package/dist/cjs/tests/unit/microsoft-cua-client.test.d.ts +0 -1
  325. package/dist/cjs/tests/unit/microsoft-cua-client.test.js +0 -86
  326. package/dist/cjs/tests/unit/microsoft-cua-client.test.js.map +0 -1
  327. package/dist/cjs/tests/unit/model-deprecation.test.d.ts +0 -1
  328. package/dist/cjs/tests/unit/model-deprecation.test.js +0 -142
  329. package/dist/cjs/tests/unit/model-deprecation.test.js.map +0 -1
  330. package/dist/cjs/tests/unit/model-utils.test.d.ts +0 -1
  331. package/dist/cjs/tests/unit/model-utils.test.js +0 -42
  332. package/dist/cjs/tests/unit/model-utils.test.js.map +0 -1
  333. package/dist/cjs/tests/unit/openai-compatible-temperature.test.d.ts +0 -1
  334. package/dist/cjs/tests/unit/openai-compatible-temperature.test.js +0 -84
  335. package/dist/cjs/tests/unit/openai-compatible-temperature.test.js.map +0 -1
  336. package/dist/cjs/tests/unit/openai-cua-client.test.d.ts +0 -1
  337. package/dist/cjs/tests/unit/openai-cua-client.test.js +0 -71
  338. package/dist/cjs/tests/unit/openai-cua-client.test.js.map +0 -1
  339. package/dist/cjs/tests/unit/page-extra-http-headers.test.d.ts +0 -1
  340. package/dist/cjs/tests/unit/page-extra-http-headers.test.js +0 -92
  341. package/dist/cjs/tests/unit/page-extra-http-headers.test.js.map +0 -1
  342. package/dist/cjs/tests/unit/page-snapshot.test.d.ts +0 -1
  343. package/dist/cjs/tests/unit/page-snapshot.test.js +0 -75
  344. package/dist/cjs/tests/unit/page-snapshot.test.js.map +0 -1
  345. package/dist/cjs/tests/unit/prompt-observe-variables.test.d.ts +0 -1
  346. package/dist/cjs/tests/unit/prompt-observe-variables.test.js +0 -25
  347. package/dist/cjs/tests/unit/prompt-observe-variables.test.js.map +0 -1
  348. package/dist/cjs/tests/unit/public-api/export-surface.test.d.ts +0 -1
  349. package/dist/cjs/tests/unit/public-api/export-surface.test.js +0 -107
  350. package/dist/cjs/tests/unit/public-api/export-surface.test.js.map +0 -1
  351. package/dist/cjs/tests/unit/public-api/llm-and-agents.test.d.ts +0 -1
  352. package/dist/cjs/tests/unit/public-api/llm-and-agents.test.js +0 -179
  353. package/dist/cjs/tests/unit/public-api/llm-and-agents.test.js.map +0 -1
  354. package/dist/cjs/tests/unit/public-api/public-error-types.test.d.ts +0 -62
  355. package/dist/cjs/tests/unit/public-api/public-error-types.test.js +0 -110
  356. package/dist/cjs/tests/unit/public-api/public-error-types.test.js.map +0 -1
  357. package/dist/cjs/tests/unit/public-api/public-types.test.d.ts +0 -1
  358. package/dist/cjs/tests/unit/public-api/public-types.test.js +0 -99
  359. package/dist/cjs/tests/unit/public-api/public-types.test.js.map +0 -1
  360. package/dist/cjs/tests/unit/public-api/runtime-utils.test.d.ts +0 -1
  361. package/dist/cjs/tests/unit/public-api/runtime-utils.test.js +0 -60
  362. package/dist/cjs/tests/unit/public-api/runtime-utils.test.js.map +0 -1
  363. package/dist/cjs/tests/unit/public-api/schema-utils.test.d.ts +0 -1
  364. package/dist/cjs/tests/unit/public-api/schema-utils.test.js +0 -95
  365. package/dist/cjs/tests/unit/public-api/schema-utils.test.js.map +0 -1
  366. package/dist/cjs/tests/unit/public-api/timeout-error-types.test.d.ts +0 -1
  367. package/dist/cjs/tests/unit/public-api/timeout-error-types.test.js +0 -121
  368. package/dist/cjs/tests/unit/public-api/timeout-error-types.test.js.map +0 -1
  369. package/dist/cjs/tests/unit/public-api/tool-type-export.test.d.ts +0 -1
  370. package/dist/cjs/tests/unit/public-api/tool-type-export.test.js +0 -65
  371. package/dist/cjs/tests/unit/public-api/tool-type-export.test.js.map +0 -1
  372. package/dist/cjs/tests/unit/public-api/v3-core.test.d.ts +0 -1
  373. package/dist/cjs/tests/unit/public-api/v3-core.test.js +0 -108
  374. package/dist/cjs/tests/unit/public-api/v3-core.test.js.map +0 -1
  375. package/dist/cjs/tests/unit/safety-confirmation.test.d.ts +0 -1
  376. package/dist/cjs/tests/unit/safety-confirmation.test.js +0 -110
  377. package/dist/cjs/tests/unit/safety-confirmation.test.js.map +0 -1
  378. package/dist/cjs/tests/unit/snapshot-a11y-resolvers.test.d.ts +0 -1
  379. package/dist/cjs/tests/unit/snapshot-a11y-resolvers.test.js +0 -431
  380. package/dist/cjs/tests/unit/snapshot-a11y-resolvers.test.js.map +0 -1
  381. package/dist/cjs/tests/unit/snapshot-a11y-tree-utils.test.d.ts +0 -1
  382. package/dist/cjs/tests/unit/snapshot-a11y-tree-utils.test.js +0 -306
  383. package/dist/cjs/tests/unit/snapshot-a11y-tree-utils.test.js.map +0 -1
  384. package/dist/cjs/tests/unit/snapshot-capture-orchestration.test.d.ts +0 -1
  385. package/dist/cjs/tests/unit/snapshot-capture-orchestration.test.js +0 -504
  386. package/dist/cjs/tests/unit/snapshot-capture-orchestration.test.js.map +0 -1
  387. package/dist/cjs/tests/unit/snapshot-cbor.test.d.ts +0 -1
  388. package/dist/cjs/tests/unit/snapshot-cbor.test.js +0 -204
  389. package/dist/cjs/tests/unit/snapshot-cbor.test.js.map +0 -1
  390. package/dist/cjs/tests/unit/snapshot-dom-session-builders.test.d.ts +0 -1
  391. package/dist/cjs/tests/unit/snapshot-dom-session-builders.test.js +0 -220
  392. package/dist/cjs/tests/unit/snapshot-dom-session-builders.test.js.map +0 -1
  393. package/dist/cjs/tests/unit/snapshot-dom-tree-utils.test.d.ts +0 -1
  394. package/dist/cjs/tests/unit/snapshot-dom-tree-utils.test.js +0 -107
  395. package/dist/cjs/tests/unit/snapshot-dom-tree-utils.test.js.map +0 -1
  396. package/dist/cjs/tests/unit/snapshot-focus-selectors-utils.test.d.ts +0 -1
  397. package/dist/cjs/tests/unit/snapshot-focus-selectors-utils.test.js +0 -89
  398. package/dist/cjs/tests/unit/snapshot-focus-selectors-utils.test.js.map +0 -1
  399. package/dist/cjs/tests/unit/snapshot-frame-merge.test.d.ts +0 -1
  400. package/dist/cjs/tests/unit/snapshot-frame-merge.test.js +0 -335
  401. package/dist/cjs/tests/unit/snapshot-frame-merge.test.js.map +0 -1
  402. package/dist/cjs/tests/unit/snapshot-tree-format-utils.test.d.ts +0 -1
  403. package/dist/cjs/tests/unit/snapshot-tree-format-utils.test.js +0 -84
  404. package/dist/cjs/tests/unit/snapshot-tree-format-utils.test.js.map +0 -1
  405. package/dist/cjs/tests/unit/snapshot-xpath-utils.test.d.ts +0 -1
  406. package/dist/cjs/tests/unit/snapshot-xpath-utils.test.js +0 -74
  407. package/dist/cjs/tests/unit/snapshot-xpath-utils.test.js.map +0 -1
  408. package/dist/cjs/tests/unit/timeout-handlers.test.d.ts +0 -1
  409. package/dist/cjs/tests/unit/timeout-handlers.test.js +0 -933
  410. package/dist/cjs/tests/unit/timeout-handlers.test.js.map +0 -1
  411. package/dist/cjs/tests/unit/understudy-command-exception.test.d.ts +0 -1
  412. package/dist/cjs/tests/unit/understudy-command-exception.test.js +0 -57
  413. package/dist/cjs/tests/unit/understudy-command-exception.test.js.map +0 -1
  414. package/dist/cjs/tests/unit/xpath-parser.test.d.ts +0 -1
  415. package/dist/cjs/tests/unit/xpath-parser.test.js +0 -311
  416. package/dist/cjs/tests/unit/xpath-parser.test.js.map +0 -1
  417. package/dist/cjs/tests/unit/xpath-resolver.test.d.ts +0 -1
  418. package/dist/cjs/tests/unit/xpath-resolver.test.js +0 -80
  419. package/dist/cjs/tests/unit/xpath-resolver.test.js.map +0 -1
  420. package/dist/cjs/tests/unit/zod-enum-compatibility.test.d.ts +0 -1
  421. package/dist/cjs/tests/unit/zod-enum-compatibility.test.js +0 -149
  422. package/dist/cjs/tests/unit/zod-enum-compatibility.test.js.map +0 -1
  423. package/dist/esm/tests/cache-variables.test.d.ts +0 -1
  424. package/dist/esm/tests/cache-variables.test.js +0 -219
  425. package/dist/esm/tests/cache-variables.test.js.map +0 -1
  426. package/dist/esm/tests/integration/agent-abort-signal.spec.d.ts +0 -1
  427. package/dist/esm/tests/integration/agent-abort-signal.spec.js +0 -121
  428. package/dist/esm/tests/integration/agent-abort-signal.spec.js.map +0 -1
  429. package/dist/esm/tests/integration/agent-cache-self-heal.spec.d.ts +0 -1
  430. package/dist/esm/tests/integration/agent-cache-self-heal.spec.js +0 -78
  431. package/dist/esm/tests/integration/agent-cache-self-heal.spec.js.map +0 -1
  432. package/dist/esm/tests/integration/agent-callbacks.spec.d.ts +0 -1
  433. package/dist/esm/tests/integration/agent-callbacks.spec.js +0 -383
  434. package/dist/esm/tests/integration/agent-callbacks.spec.js.map +0 -1
  435. package/dist/esm/tests/integration/agent-experimental-validation.spec.d.ts +0 -1
  436. package/dist/esm/tests/integration/agent-experimental-validation.spec.js +0 -360
  437. package/dist/esm/tests/integration/agent-experimental-validation.spec.js.map +0 -1
  438. package/dist/esm/tests/integration/agent-hybrid-mode.spec.d.ts +0 -1
  439. package/dist/esm/tests/integration/agent-hybrid-mode.spec.js +0 -260
  440. package/dist/esm/tests/integration/agent-hybrid-mode.spec.js.map +0 -1
  441. package/dist/esm/tests/integration/agent-message-continuation.spec.d.ts +0 -1
  442. package/dist/esm/tests/integration/agent-message-continuation.spec.js +0 -110
  443. package/dist/esm/tests/integration/agent-message-continuation.spec.js.map +0 -1
  444. package/dist/esm/tests/integration/agent-streaming.spec.d.ts +0 -1
  445. package/dist/esm/tests/integration/agent-streaming.spec.js +0 -138
  446. package/dist/esm/tests/integration/agent-streaming.spec.js.map +0 -1
  447. package/dist/esm/tests/integration/cdp-close-api-region.spec.d.ts +0 -1
  448. package/dist/esm/tests/integration/cdp-close-api-region.spec.js +0 -39
  449. package/dist/esm/tests/integration/cdp-close-api-region.spec.js.map +0 -1
  450. package/dist/esm/tests/integration/cdp-connection-close.spec.d.ts +0 -1
  451. package/dist/esm/tests/integration/cdp-connection-close.spec.js +0 -74
  452. package/dist/esm/tests/integration/cdp-connection-close.spec.js.map +0 -1
  453. package/dist/esm/tests/integration/cdp-session-detached.spec.d.ts +0 -1
  454. package/dist/esm/tests/integration/cdp-session-detached.spec.js +0 -43
  455. package/dist/esm/tests/integration/cdp-session-detached.spec.js.map +0 -1
  456. package/dist/esm/tests/integration/chrome-newtab-page-tracking.spec.d.ts +0 -1
  457. package/dist/esm/tests/integration/chrome-newtab-page-tracking.spec.js +0 -54
  458. package/dist/esm/tests/integration/chrome-newtab-page-tracking.spec.js.map +0 -1
  459. package/dist/esm/tests/integration/click-count.spec.d.ts +0 -1
  460. package/dist/esm/tests/integration/click-count.spec.js +0 -161
  461. package/dist/esm/tests/integration/click-count.spec.js.map +0 -1
  462. package/dist/esm/tests/integration/connect-to-existing-browser.spec.d.ts +0 -1
  463. package/dist/esm/tests/integration/connect-to-existing-browser.spec.js +0 -97
  464. package/dist/esm/tests/integration/connect-to-existing-browser.spec.js.map +0 -1
  465. package/dist/esm/tests/integration/context-addInitScript.spec.d.ts +0 -1
  466. package/dist/esm/tests/integration/context-addInitScript.spec.js +0 -283
  467. package/dist/esm/tests/integration/context-addInitScript.spec.js.map +0 -1
  468. package/dist/esm/tests/integration/context-extra-http-headers.spec.d.ts +0 -1
  469. package/dist/esm/tests/integration/context-extra-http-headers.spec.js +0 -47
  470. package/dist/esm/tests/integration/context-extra-http-headers.spec.js.map +0 -1
  471. package/dist/esm/tests/integration/cookies.spec.d.ts +0 -1
  472. package/dist/esm/tests/integration/cookies.spec.js +0 -185
  473. package/dist/esm/tests/integration/cookies.spec.js.map +0 -1
  474. package/dist/esm/tests/integration/default-page-tracking.spec.d.ts +0 -1
  475. package/dist/esm/tests/integration/default-page-tracking.spec.js +0 -50
  476. package/dist/esm/tests/integration/default-page-tracking.spec.js.map +0 -1
  477. package/dist/esm/tests/integration/downloads.spec.d.ts +0 -1
  478. package/dist/esm/tests/integration/downloads.spec.js +0 -47
  479. package/dist/esm/tests/integration/downloads.spec.js.map +0 -1
  480. package/dist/esm/tests/integration/flowLogger.spec.d.ts +0 -1
  481. package/dist/esm/tests/integration/flowLogger.spec.js +0 -716
  482. package/dist/esm/tests/integration/flowLogger.spec.js.map +0 -1
  483. package/dist/esm/tests/integration/frame-get-location-and-click.spec.d.ts +0 -1
  484. package/dist/esm/tests/integration/frame-get-location-and-click.spec.js +0 -55
  485. package/dist/esm/tests/integration/frame-get-location-and-click.spec.js.map +0 -1
  486. package/dist/esm/tests/integration/iframe-ctx-addInitScript-race.spec.d.ts +0 -1
  487. package/dist/esm/tests/integration/iframe-ctx-addInitScript-race.spec.js +0 -217
  488. package/dist/esm/tests/integration/iframe-ctx-addInitScript-race.spec.js.map +0 -1
  489. package/dist/esm/tests/integration/iframe-ctx-addInitScript.spec.d.ts +0 -1
  490. package/dist/esm/tests/integration/iframe-ctx-addInitScript.spec.js +0 -472
  491. package/dist/esm/tests/integration/iframe-ctx-addInitScript.spec.js.map +0 -1
  492. package/dist/esm/tests/integration/keep-alive.child.d.ts +0 -1
  493. package/dist/esm/tests/integration/keep-alive.child.js +0 -83
  494. package/dist/esm/tests/integration/keep-alive.child.js.map +0 -1
  495. package/dist/esm/tests/integration/keep-alive.spec.d.ts +0 -22
  496. package/dist/esm/tests/integration/keep-alive.spec.js +0 -482
  497. package/dist/esm/tests/integration/keep-alive.spec.js.map +0 -1
  498. package/dist/esm/tests/integration/keyboard.spec.d.ts +0 -1
  499. package/dist/esm/tests/integration/keyboard.spec.js +0 -257
  500. package/dist/esm/tests/integration/keyboard.spec.js.map +0 -1
  501. package/dist/esm/tests/integration/locator-backend-node-id.spec.d.ts +0 -1
  502. package/dist/esm/tests/integration/locator-backend-node-id.spec.js +0 -148
  503. package/dist/esm/tests/integration/locator-backend-node-id.spec.js.map +0 -1
  504. package/dist/esm/tests/integration/locator-content-methods.spec.d.ts +0 -1
  505. package/dist/esm/tests/integration/locator-content-methods.spec.js +0 -178
  506. package/dist/esm/tests/integration/locator-content-methods.spec.js.map +0 -1
  507. package/dist/esm/tests/integration/locator-count-iframe.spec.d.ts +0 -1
  508. package/dist/esm/tests/integration/locator-count-iframe.spec.js +0 -127
  509. package/dist/esm/tests/integration/locator-count-iframe.spec.js.map +0 -1
  510. package/dist/esm/tests/integration/locator-count.spec.d.ts +0 -1
  511. package/dist/esm/tests/integration/locator-count.spec.js +0 -66
  512. package/dist/esm/tests/integration/locator-count.spec.js.map +0 -1
  513. package/dist/esm/tests/integration/locator-fill.spec.d.ts +0 -1
  514. package/dist/esm/tests/integration/locator-fill.spec.js +0 -115
  515. package/dist/esm/tests/integration/locator-fill.spec.js.map +0 -1
  516. package/dist/esm/tests/integration/locator-input-methods.spec.d.ts +0 -1
  517. package/dist/esm/tests/integration/locator-input-methods.spec.js +0 -125
  518. package/dist/esm/tests/integration/locator-input-methods.spec.js.map +0 -1
  519. package/dist/esm/tests/integration/locator-nth.spec.d.ts +0 -1
  520. package/dist/esm/tests/integration/locator-nth.spec.js +0 -173
  521. package/dist/esm/tests/integration/locator-nth.spec.js.map +0 -1
  522. package/dist/esm/tests/integration/locator-select-option.spec.d.ts +0 -1
  523. package/dist/esm/tests/integration/locator-select-option.spec.js +0 -214
  524. package/dist/esm/tests/integration/locator-select-option.spec.js.map +0 -1
  525. package/dist/esm/tests/integration/logger-initialization.spec.d.ts +0 -1
  526. package/dist/esm/tests/integration/logger-initialization.spec.js +0 -595
  527. package/dist/esm/tests/integration/logger-initialization.spec.js.map +0 -1
  528. package/dist/esm/tests/integration/multi-instance-logger.spec.d.ts +0 -1
  529. package/dist/esm/tests/integration/multi-instance-logger.spec.js +0 -291
  530. package/dist/esm/tests/integration/multi-instance-logger.spec.js.map +0 -1
  531. package/dist/esm/tests/integration/nested-div.spec.d.ts +0 -1
  532. package/dist/esm/tests/integration/nested-div.spec.js +0 -20
  533. package/dist/esm/tests/integration/nested-div.spec.js.map +0 -1
  534. package/dist/esm/tests/integration/observe-element-id-format.spec.d.ts +0 -1
  535. package/dist/esm/tests/integration/observe-element-id-format.spec.js +0 -128
  536. package/dist/esm/tests/integration/observe-element-id-format.spec.js.map +0 -1
  537. package/dist/esm/tests/integration/page-addInitScript.spec.d.ts +0 -1
  538. package/dist/esm/tests/integration/page-addInitScript.spec.js +0 -92
  539. package/dist/esm/tests/integration/page-addInitScript.spec.js.map +0 -1
  540. package/dist/esm/tests/integration/page-console.spec.d.ts +0 -1
  541. package/dist/esm/tests/integration/page-console.spec.js +0 -45
  542. package/dist/esm/tests/integration/page-console.spec.js.map +0 -1
  543. package/dist/esm/tests/integration/page-drag-and-drop.spec.d.ts +0 -1
  544. package/dist/esm/tests/integration/page-drag-and-drop.spec.js +0 -435
  545. package/dist/esm/tests/integration/page-drag-and-drop.spec.js.map +0 -1
  546. package/dist/esm/tests/integration/page-extra-http-headers.spec.d.ts +0 -1
  547. package/dist/esm/tests/integration/page-extra-http-headers.spec.js +0 -83
  548. package/dist/esm/tests/integration/page-extra-http-headers.spec.js.map +0 -1
  549. package/dist/esm/tests/integration/page-goto-response.spec.d.ts +0 -1
  550. package/dist/esm/tests/integration/page-goto-response.spec.js +0 -32
  551. package/dist/esm/tests/integration/page-goto-response.spec.js.map +0 -1
  552. package/dist/esm/tests/integration/page-hover.spec.d.ts +0 -1
  553. package/dist/esm/tests/integration/page-hover.spec.js +0 -163
  554. package/dist/esm/tests/integration/page-hover.spec.js.map +0 -1
  555. package/dist/esm/tests/integration/page-screenshot.spec.d.ts +0 -1
  556. package/dist/esm/tests/integration/page-screenshot.spec.js +0 -257
  557. package/dist/esm/tests/integration/page-screenshot.spec.js.map +0 -1
  558. package/dist/esm/tests/integration/page-scroll.spec.d.ts +0 -1
  559. package/dist/esm/tests/integration/page-scroll.spec.js +0 -181
  560. package/dist/esm/tests/integration/page-scroll.spec.js.map +0 -1
  561. package/dist/esm/tests/integration/page-send-cdp.spec.d.ts +0 -1
  562. package/dist/esm/tests/integration/page-send-cdp.spec.js +0 -45
  563. package/dist/esm/tests/integration/page-send-cdp.spec.js.map +0 -1
  564. package/dist/esm/tests/integration/perform-understudy-method.spec.d.ts +0 -1
  565. package/dist/esm/tests/integration/perform-understudy-method.spec.js +0 -61
  566. package/dist/esm/tests/integration/perform-understudy-method.spec.js.map +0 -1
  567. package/dist/esm/tests/integration/setinputfiles.spec.d.ts +0 -1
  568. package/dist/esm/tests/integration/setinputfiles.spec.js +0 -128
  569. package/dist/esm/tests/integration/setinputfiles.spec.js.map +0 -1
  570. package/dist/esm/tests/integration/shadow-iframe-oopif.spec.d.ts +0 -1
  571. package/dist/esm/tests/integration/shadow-iframe-oopif.spec.js +0 -156
  572. package/dist/esm/tests/integration/shadow-iframe-oopif.spec.js.map +0 -1
  573. package/dist/esm/tests/integration/shadow-iframe-spif.spec.d.ts +0 -1
  574. package/dist/esm/tests/integration/shadow-iframe-spif.spec.js +0 -155
  575. package/dist/esm/tests/integration/shadow-iframe-spif.spec.js.map +0 -1
  576. package/dist/esm/tests/integration/testUtils.d.ts +0 -40
  577. package/dist/esm/tests/integration/testUtils.js +0 -178
  578. package/dist/esm/tests/integration/testUtils.js.map +0 -1
  579. package/dist/esm/tests/integration/text-selector-innermost.spec.d.ts +0 -1
  580. package/dist/esm/tests/integration/text-selector-innermost.spec.js +0 -103
  581. package/dist/esm/tests/integration/text-selector-innermost.spec.js.map +0 -1
  582. package/dist/esm/tests/integration/timeouts.spec.d.ts +0 -1
  583. package/dist/esm/tests/integration/timeouts.spec.js +0 -307
  584. package/dist/esm/tests/integration/timeouts.spec.js.map +0 -1
  585. package/dist/esm/tests/integration/user-data-dir.spec.d.ts +0 -1
  586. package/dist/esm/tests/integration/user-data-dir.spec.js +0 -42
  587. package/dist/esm/tests/integration/user-data-dir.spec.js.map +0 -1
  588. package/dist/esm/tests/integration/v3.config.d.ts +0 -4
  589. package/dist/esm/tests/integration/v3.config.js +0 -7
  590. package/dist/esm/tests/integration/v3.config.js.map +0 -1
  591. package/dist/esm/tests/integration/v3.dynamic.config.d.ts +0 -4
  592. package/dist/esm/tests/integration/v3.dynamic.config.js +0 -44
  593. package/dist/esm/tests/integration/v3.dynamic.config.js.map +0 -1
  594. package/dist/esm/tests/integration/v3.playwright.config.d.ts +0 -2
  595. package/dist/esm/tests/integration/v3.playwright.config.js +0 -46
  596. package/dist/esm/tests/integration/v3.playwright.config.js.map +0 -1
  597. package/dist/esm/tests/integration/wait-for-selector.spec.d.ts +0 -1
  598. package/dist/esm/tests/integration/wait-for-selector.spec.js +0 -681
  599. package/dist/esm/tests/integration/wait-for-selector.spec.js.map +0 -1
  600. package/dist/esm/tests/integration/wait-for-timeout.spec.d.ts +0 -1
  601. package/dist/esm/tests/integration/wait-for-timeout.spec.js +0 -116
  602. package/dist/esm/tests/integration/wait-for-timeout.spec.js.map +0 -1
  603. package/dist/esm/tests/integration/xpath-for-location-deep.spec.d.ts +0 -1
  604. package/dist/esm/tests/integration/xpath-for-location-deep.spec.js +0 -85
  605. package/dist/esm/tests/integration/xpath-for-location-deep.spec.js.map +0 -1
  606. package/dist/esm/tests/unit/agent-captcha-hooks.test.d.ts +0 -1
  607. package/dist/esm/tests/unit/agent-captcha-hooks.test.js +0 -339
  608. package/dist/esm/tests/unit/agent-captcha-hooks.test.js.map +0 -1
  609. package/dist/esm/tests/unit/agent-execution-model.test.d.ts +0 -1
  610. package/dist/esm/tests/unit/agent-execution-model.test.js +0 -148
  611. package/dist/esm/tests/unit/agent-execution-model.test.js.map +0 -1
  612. package/dist/esm/tests/unit/agent-metrics.test.d.ts +0 -1
  613. package/dist/esm/tests/unit/agent-metrics.test.js +0 -110
  614. package/dist/esm/tests/unit/agent-metrics.test.js.map +0 -1
  615. package/dist/esm/tests/unit/agent-mode-routing.test.d.ts +0 -1
  616. package/dist/esm/tests/unit/agent-mode-routing.test.js +0 -86
  617. package/dist/esm/tests/unit/agent-mode-routing.test.js.map +0 -1
  618. package/dist/esm/tests/unit/agent-system-prompt-variables.test.d.ts +0 -1
  619. package/dist/esm/tests/unit/agent-system-prompt-variables.test.js +0 -21
  620. package/dist/esm/tests/unit/agent-system-prompt-variables.test.js.map +0 -1
  621. package/dist/esm/tests/unit/agent-temperature.test.d.ts +0 -1
  622. package/dist/esm/tests/unit/agent-temperature.test.js +0 -189
  623. package/dist/esm/tests/unit/agent-temperature.test.js.map +0 -1
  624. package/dist/esm/tests/unit/agent-variables-validation.test.d.ts +0 -1
  625. package/dist/esm/tests/unit/agent-variables-validation.test.js +0 -41
  626. package/dist/esm/tests/unit/agent-variables-validation.test.js.map +0 -1
  627. package/dist/esm/tests/unit/aisdk-clients.test.d.ts +0 -1
  628. package/dist/esm/tests/unit/aisdk-clients.test.js +0 -84
  629. package/dist/esm/tests/unit/aisdk-clients.test.js.map +0 -1
  630. package/dist/esm/tests/unit/anthropic-cua-adaptive-thinking.test.d.ts +0 -1
  631. package/dist/esm/tests/unit/anthropic-cua-adaptive-thinking.test.js +0 -245
  632. package/dist/esm/tests/unit/anthropic-cua-adaptive-thinking.test.js.map +0 -1
  633. package/dist/esm/tests/unit/api-client-observe-variables.test.d.ts +0 -1
  634. package/dist/esm/tests/unit/api-client-observe-variables.test.js +0 -133
  635. package/dist/esm/tests/unit/api-client-observe-variables.test.js.map +0 -1
  636. package/dist/esm/tests/unit/api-multiregion.test.d.ts +0 -1
  637. package/dist/esm/tests/unit/api-multiregion.test.js +0 -56
  638. package/dist/esm/tests/unit/api-multiregion.test.js.map +0 -1
  639. package/dist/esm/tests/unit/api-optional-model-api-key.test.d.ts +0 -1
  640. package/dist/esm/tests/unit/api-optional-model-api-key.test.js +0 -153
  641. package/dist/esm/tests/unit/api-optional-model-api-key.test.js.map +0 -1
  642. package/dist/esm/tests/unit/api-variables-schema.test.d.ts +0 -1
  643. package/dist/esm/tests/unit/api-variables-schema.test.js +0 -67
  644. package/dist/esm/tests/unit/api-variables-schema.test.js.map +0 -1
  645. package/dist/esm/tests/unit/browserbase-session-accessors.test.d.ts +0 -1
  646. package/dist/esm/tests/unit/browserbase-session-accessors.test.js +0 -140
  647. package/dist/esm/tests/unit/browserbase-session-accessors.test.js.map +0 -1
  648. package/dist/esm/tests/unit/cache-llm-resolution.test.d.ts +0 -1
  649. package/dist/esm/tests/unit/cache-llm-resolution.test.js +0 -184
  650. package/dist/esm/tests/unit/cache-llm-resolution.test.js.map +0 -1
  651. package/dist/esm/tests/unit/captcha-solver.test.d.ts +0 -1
  652. package/dist/esm/tests/unit/captcha-solver.test.js +0 -152
  653. package/dist/esm/tests/unit/captcha-solver.test.js.map +0 -1
  654. package/dist/esm/tests/unit/cdp-connection-close.test.d.ts +0 -1
  655. package/dist/esm/tests/unit/cdp-connection-close.test.js +0 -72
  656. package/dist/esm/tests/unit/cdp-connection-close.test.js.map +0 -1
  657. package/dist/esm/tests/unit/context-extra-http-headers.test.d.ts +0 -1
  658. package/dist/esm/tests/unit/context-extra-http-headers.test.js +0 -56
  659. package/dist/esm/tests/unit/context-extra-http-headers.test.js.map +0 -1
  660. package/dist/esm/tests/unit/cookies.test.d.ts +0 -1
  661. package/dist/esm/tests/unit/cookies.test.js +0 -909
  662. package/dist/esm/tests/unit/cookies.test.js.map +0 -1
  663. package/dist/esm/tests/unit/flowlogger-capturing-cdp.test.d.ts +0 -1
  664. package/dist/esm/tests/unit/flowlogger-capturing-cdp.test.js +0 -93
  665. package/dist/esm/tests/unit/flowlogger-capturing-cdp.test.js.map +0 -1
  666. package/dist/esm/tests/unit/flowlogger-capturing-llm.test.d.ts +0 -1
  667. package/dist/esm/tests/unit/flowlogger-capturing-llm.test.js +0 -41
  668. package/dist/esm/tests/unit/flowlogger-capturing-llm.test.js.map +0 -1
  669. package/dist/esm/tests/unit/flowlogger-eventstore.test.d.ts +0 -1
  670. package/dist/esm/tests/unit/flowlogger-eventstore.test.js +0 -248
  671. package/dist/esm/tests/unit/flowlogger-eventstore.test.js.map +0 -1
  672. package/dist/esm/tests/unit/frame-registry-oopif-adoption.test.d.ts +0 -1
  673. package/dist/esm/tests/unit/frame-registry-oopif-adoption.test.js +0 -58
  674. package/dist/esm/tests/unit/frame-registry-oopif-adoption.test.js.map +0 -1
  675. package/dist/esm/tests/unit/helpers/mockCDPSession.d.ts +0 -19
  676. package/dist/esm/tests/unit/helpers/mockCDPSession.js +0 -25
  677. package/dist/esm/tests/unit/helpers/mockCDPSession.js.map +0 -1
  678. package/dist/esm/tests/unit/inference-temperature.test.d.ts +0 -1
  679. package/dist/esm/tests/unit/inference-temperature.test.js +0 -63
  680. package/dist/esm/tests/unit/inference-temperature.test.js.map +0 -1
  681. package/dist/esm/tests/unit/llm-middleware.test.d.ts +0 -1
  682. package/dist/esm/tests/unit/llm-middleware.test.js +0 -460
  683. package/dist/esm/tests/unit/llm-middleware.test.js.map +0 -1
  684. package/dist/esm/tests/unit/llm-provider.test.d.ts +0 -1
  685. package/dist/esm/tests/unit/llm-provider.test.js +0 -62
  686. package/dist/esm/tests/unit/llm-provider.test.js.map +0 -1
  687. package/dist/esm/tests/unit/microsoft-cua-client.test.d.ts +0 -1
  688. package/dist/esm/tests/unit/microsoft-cua-client.test.js +0 -84
  689. package/dist/esm/tests/unit/microsoft-cua-client.test.js.map +0 -1
  690. package/dist/esm/tests/unit/model-deprecation.test.d.ts +0 -1
  691. package/dist/esm/tests/unit/model-deprecation.test.js +0 -140
  692. package/dist/esm/tests/unit/model-deprecation.test.js.map +0 -1
  693. package/dist/esm/tests/unit/model-utils.test.d.ts +0 -1
  694. package/dist/esm/tests/unit/model-utils.test.js +0 -40
  695. package/dist/esm/tests/unit/model-utils.test.js.map +0 -1
  696. package/dist/esm/tests/unit/openai-compatible-temperature.test.d.ts +0 -1
  697. package/dist/esm/tests/unit/openai-compatible-temperature.test.js +0 -82
  698. package/dist/esm/tests/unit/openai-compatible-temperature.test.js.map +0 -1
  699. package/dist/esm/tests/unit/openai-cua-client.test.d.ts +0 -1
  700. package/dist/esm/tests/unit/openai-cua-client.test.js +0 -69
  701. package/dist/esm/tests/unit/openai-cua-client.test.js.map +0 -1
  702. package/dist/esm/tests/unit/page-extra-http-headers.test.d.ts +0 -1
  703. package/dist/esm/tests/unit/page-extra-http-headers.test.js +0 -90
  704. package/dist/esm/tests/unit/page-extra-http-headers.test.js.map +0 -1
  705. package/dist/esm/tests/unit/page-snapshot.test.d.ts +0 -1
  706. package/dist/esm/tests/unit/page-snapshot.test.js +0 -40
  707. package/dist/esm/tests/unit/page-snapshot.test.js.map +0 -1
  708. package/dist/esm/tests/unit/prompt-observe-variables.test.d.ts +0 -1
  709. package/dist/esm/tests/unit/prompt-observe-variables.test.js +0 -23
  710. package/dist/esm/tests/unit/prompt-observe-variables.test.js.map +0 -1
  711. package/dist/esm/tests/unit/public-api/export-surface.test.d.ts +0 -1
  712. package/dist/esm/tests/unit/public-api/export-surface.test.js +0 -72
  713. package/dist/esm/tests/unit/public-api/export-surface.test.js.map +0 -1
  714. package/dist/esm/tests/unit/public-api/llm-and-agents.test.d.ts +0 -1
  715. package/dist/esm/tests/unit/public-api/llm-and-agents.test.js +0 -144
  716. package/dist/esm/tests/unit/public-api/llm-and-agents.test.js.map +0 -1
  717. package/dist/esm/tests/unit/public-api/public-error-types.test.d.ts +0 -62
  718. package/dist/esm/tests/unit/public-api/public-error-types.test.js +0 -74
  719. package/dist/esm/tests/unit/public-api/public-error-types.test.js.map +0 -1
  720. package/dist/esm/tests/unit/public-api/public-types.test.d.ts +0 -1
  721. package/dist/esm/tests/unit/public-api/public-types.test.js +0 -97
  722. package/dist/esm/tests/unit/public-api/public-types.test.js.map +0 -1
  723. package/dist/esm/tests/unit/public-api/runtime-utils.test.d.ts +0 -1
  724. package/dist/esm/tests/unit/public-api/runtime-utils.test.js +0 -25
  725. package/dist/esm/tests/unit/public-api/runtime-utils.test.js.map +0 -1
  726. package/dist/esm/tests/unit/public-api/schema-utils.test.d.ts +0 -1
  727. package/dist/esm/tests/unit/public-api/schema-utils.test.js +0 -60
  728. package/dist/esm/tests/unit/public-api/schema-utils.test.js.map +0 -1
  729. package/dist/esm/tests/unit/public-api/timeout-error-types.test.d.ts +0 -1
  730. package/dist/esm/tests/unit/public-api/timeout-error-types.test.js +0 -86
  731. package/dist/esm/tests/unit/public-api/timeout-error-types.test.js.map +0 -1
  732. package/dist/esm/tests/unit/public-api/tool-type-export.test.d.ts +0 -1
  733. package/dist/esm/tests/unit/public-api/tool-type-export.test.js +0 -30
  734. package/dist/esm/tests/unit/public-api/tool-type-export.test.js.map +0 -1
  735. package/dist/esm/tests/unit/public-api/v3-core.test.d.ts +0 -1
  736. package/dist/esm/tests/unit/public-api/v3-core.test.js +0 -73
  737. package/dist/esm/tests/unit/public-api/v3-core.test.js.map +0 -1
  738. package/dist/esm/tests/unit/safety-confirmation.test.d.ts +0 -1
  739. package/dist/esm/tests/unit/safety-confirmation.test.js +0 -108
  740. package/dist/esm/tests/unit/safety-confirmation.test.js.map +0 -1
  741. package/dist/esm/tests/unit/snapshot-a11y-resolvers.test.d.ts +0 -1
  742. package/dist/esm/tests/unit/snapshot-a11y-resolvers.test.js +0 -396
  743. package/dist/esm/tests/unit/snapshot-a11y-resolvers.test.js.map +0 -1
  744. package/dist/esm/tests/unit/snapshot-a11y-tree-utils.test.d.ts +0 -1
  745. package/dist/esm/tests/unit/snapshot-a11y-tree-utils.test.js +0 -304
  746. package/dist/esm/tests/unit/snapshot-a11y-tree-utils.test.js.map +0 -1
  747. package/dist/esm/tests/unit/snapshot-capture-orchestration.test.d.ts +0 -1
  748. package/dist/esm/tests/unit/snapshot-capture-orchestration.test.js +0 -469
  749. package/dist/esm/tests/unit/snapshot-capture-orchestration.test.js.map +0 -1
  750. package/dist/esm/tests/unit/snapshot-cbor.test.d.ts +0 -1
  751. package/dist/esm/tests/unit/snapshot-cbor.test.js +0 -202
  752. package/dist/esm/tests/unit/snapshot-cbor.test.js.map +0 -1
  753. package/dist/esm/tests/unit/snapshot-dom-session-builders.test.d.ts +0 -1
  754. package/dist/esm/tests/unit/snapshot-dom-session-builders.test.js +0 -218
  755. package/dist/esm/tests/unit/snapshot-dom-session-builders.test.js.map +0 -1
  756. package/dist/esm/tests/unit/snapshot-dom-tree-utils.test.d.ts +0 -1
  757. package/dist/esm/tests/unit/snapshot-dom-tree-utils.test.js +0 -105
  758. package/dist/esm/tests/unit/snapshot-dom-tree-utils.test.js.map +0 -1
  759. package/dist/esm/tests/unit/snapshot-focus-selectors-utils.test.d.ts +0 -1
  760. package/dist/esm/tests/unit/snapshot-focus-selectors-utils.test.js +0 -87
  761. package/dist/esm/tests/unit/snapshot-focus-selectors-utils.test.js.map +0 -1
  762. package/dist/esm/tests/unit/snapshot-frame-merge.test.d.ts +0 -1
  763. package/dist/esm/tests/unit/snapshot-frame-merge.test.js +0 -333
  764. package/dist/esm/tests/unit/snapshot-frame-merge.test.js.map +0 -1
  765. package/dist/esm/tests/unit/snapshot-tree-format-utils.test.d.ts +0 -1
  766. package/dist/esm/tests/unit/snapshot-tree-format-utils.test.js +0 -82
  767. package/dist/esm/tests/unit/snapshot-tree-format-utils.test.js.map +0 -1
  768. package/dist/esm/tests/unit/snapshot-xpath-utils.test.d.ts +0 -1
  769. package/dist/esm/tests/unit/snapshot-xpath-utils.test.js +0 -72
  770. package/dist/esm/tests/unit/snapshot-xpath-utils.test.js.map +0 -1
  771. package/dist/esm/tests/unit/timeout-handlers.test.d.ts +0 -1
  772. package/dist/esm/tests/unit/timeout-handlers.test.js +0 -898
  773. package/dist/esm/tests/unit/timeout-handlers.test.js.map +0 -1
  774. package/dist/esm/tests/unit/understudy-command-exception.test.d.ts +0 -1
  775. package/dist/esm/tests/unit/understudy-command-exception.test.js +0 -55
  776. package/dist/esm/tests/unit/understudy-command-exception.test.js.map +0 -1
  777. package/dist/esm/tests/unit/xpath-parser.test.d.ts +0 -1
  778. package/dist/esm/tests/unit/xpath-parser.test.js +0 -309
  779. package/dist/esm/tests/unit/xpath-parser.test.js.map +0 -1
  780. package/dist/esm/tests/unit/xpath-resolver.test.d.ts +0 -1
  781. package/dist/esm/tests/unit/xpath-resolver.test.js +0 -78
  782. package/dist/esm/tests/unit/xpath-resolver.test.js.map +0 -1
  783. package/dist/esm/tests/unit/zod-enum-compatibility.test.d.ts +0 -1
  784. package/dist/esm/tests/unit/zod-enum-compatibility.test.js +0 -114
  785. package/dist/esm/tests/unit/zod-enum-compatibility.test.js.map +0 -1
@@ -1,259 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const test_1 = require("@playwright/test");
4
- const v3_js_1 = require("../../lib/v3/v3.js");
5
- const v3_dynamic_config_js_1 = require("./v3.dynamic.config.js");
6
- const testUtils_js_1 = require("./testUtils.js");
7
- function dataUrl(html) {
8
- return "data:text/html;charset=utf-8," + encodeURIComponent(html);
9
- }
10
- test_1.test.describe("V3 keyboard shortcuts and typing", () => {
11
- let v3;
12
- test_1.test.beforeEach(async () => {
13
- v3 = new v3_js_1.V3(v3_dynamic_config_js_1.v3DynamicTestConfig);
14
- await v3.init();
15
- });
16
- test_1.test.afterEach(async () => {
17
- await (0, testUtils_js_1.closeV3)(v3);
18
- });
19
- (0, test_1.test)("typing, select-all + delete clears input (Cmd maps cross-OS)", async () => {
20
- const html = `<!doctype html>
21
- <input id="i1" autofocus />`;
22
- const page = await v3.context.awaitActivePage();
23
- await page.goto(dataUrl(html), {
24
- waitUntil: "domcontentloaded",
25
- timeoutMs: 15000,
26
- });
27
- await page.locator("#i1").click();
28
- await page.type("Hello World");
29
- await page.keyPress("Cmd+A");
30
- await page.keyPress("Delete");
31
- const value = await page.evaluate((sel) => document.querySelector(sel).value, "#i1");
32
- (0, test_1.expect)(value).toBe("");
33
- });
34
- (0, test_1.test)("accelerator does not inject printable text (Cmd+B does not type 'b')", async () => {
35
- const html = `<!doctype html>
36
- <input id="i" />`;
37
- const page = await v3.context.awaitActivePage();
38
- await page.goto(dataUrl(html), {
39
- waitUntil: "domcontentloaded",
40
- timeoutMs: 15000,
41
- });
42
- await page.locator("#i").click();
43
- await page.type("xyz");
44
- await page.keyPress("Cmd+B");
45
- const value = await page.evaluate((sel) => document.querySelector(sel).value, "#i");
46
- (0, test_1.expect)(value).toBe("xyz");
47
- });
48
- (0, test_1.test)("Tab and Shift+Tab move focus", async () => {
49
- const html = `<!doctype html>
50
- <input id="a" />
51
- <input id="b" />`;
52
- const page = await v3.context.awaitActivePage();
53
- await page.goto(dataUrl(html), {
54
- waitUntil: "domcontentloaded",
55
- timeoutMs: 15000,
56
- });
57
- await page.locator("#a").click();
58
- await page.keyPress("Tab");
59
- const active1 = await page.evaluate(() => document.activeElement?.id || "");
60
- (0, test_1.expect)(active1).toBe("b");
61
- await page.keyPress("Shift+Tab");
62
- const active2 = await page.evaluate(() => document.activeElement?.id || "");
63
- (0, test_1.expect)(active2).toBe("a");
64
- });
65
- (0, test_1.test)("cut clears the field (Cmd+X)", async () => {
66
- const html = `<!doctype html>
67
- <input id="t" />`;
68
- const page = await v3.context.awaitActivePage();
69
- await page.goto(dataUrl(html), {
70
- waitUntil: "domcontentloaded",
71
- timeoutMs: 15000,
72
- });
73
- await page.locator("#t").click();
74
- await page.type("cut-me");
75
- await page.keyPress("Cmd+A");
76
- await page.keyPress("Cmd+X");
77
- const value = await page.evaluate((sel) => document.querySelector(sel).value, "#t");
78
- (0, test_1.expect)(value).toBe("");
79
- });
80
- (0, test_1.test)("single printable via keyPress types characters (a, Shift+A, space)", async () => {
81
- const html = `<!doctype html>
82
- <input id="t" autofocus />`;
83
- const page = await v3.context.awaitActivePage();
84
- await page.goto(dataUrl(html), {
85
- waitUntil: "domcontentloaded",
86
- timeoutMs: 15000,
87
- });
88
- await page.locator("#t").click();
89
- await page.keyPress("a");
90
- await page.keyPress("Shift+A");
91
- await page.keyPress(" ");
92
- const value = await page.evaluate((sel) => document.querySelector(sel).value, "#t");
93
- (0, test_1.expect)(value).toBe("aA ");
94
- });
95
- (0, test_1.test)("Backspace removes last char", async () => {
96
- const html = `<!doctype html>
97
- <input id="t" />`;
98
- const page = await v3.context.awaitActivePage();
99
- await page.goto(dataUrl(html), {
100
- waitUntil: "domcontentloaded",
101
- timeoutMs: 15000,
102
- });
103
- await page.locator("#t").click();
104
- await page.type("ab");
105
- await page.keyPress("Backspace");
106
- const value = await page.evaluate((sel) => document.querySelector(sel).value, "#t");
107
- (0, test_1.expect)(value).toBe("a");
108
- });
109
- (0, test_1.test)("Delete removes next char at caret", async () => {
110
- const html = `<!doctype html>
111
- <input id="t" />`;
112
- const page = await v3.context.awaitActivePage();
113
- await page.goto(dataUrl(html), {
114
- waitUntil: "domcontentloaded",
115
- timeoutMs: 15000,
116
- });
117
- await page.locator("#t").click();
118
- await page.type("abc");
119
- // place caret between a|bc
120
- await page.evaluate(() => {
121
- const el = document.getElementById("t");
122
- el.focus();
123
- el.setSelectionRange(1, 1);
124
- });
125
- await page.keyPress("Delete");
126
- const value = await page.evaluate((sel) => document.querySelector(sel).value, "#t");
127
- (0, test_1.expect)(value).toBe("ac");
128
- });
129
- (0, test_1.test)("ArrowLeft moves caret and typing inserts in middle", async () => {
130
- const html = `<!doctype html>
131
- <input id="t" />`;
132
- const page = await v3.context.awaitActivePage();
133
- await page.goto(dataUrl(html), {
134
- waitUntil: "domcontentloaded",
135
- timeoutMs: 15000,
136
- });
137
- await page.locator("#t").click();
138
- await page.type("ac");
139
- await page.keyPress("ArrowLeft");
140
- await page.keyPress("b");
141
- const value = await page.evaluate((sel) => document.querySelector(sel).value, "#t");
142
- (0, test_1.expect)(value).toBe("abc");
143
- });
144
- (0, test_1.test)("Enter inserts newline in textarea", async () => {
145
- const html = `<!doctype html>
146
- <textarea id="ta"></textarea>`;
147
- const page = await v3.context.awaitActivePage();
148
- await page.goto(dataUrl(html), {
149
- waitUntil: "domcontentloaded",
150
- timeoutMs: 15000,
151
- });
152
- await page.locator("#ta").click();
153
- await page.keyPress("a");
154
- await page.keyPress("Enter");
155
- await page.keyPress("b");
156
- const value = await page.evaluate((sel) => document.querySelector(sel).value, "#ta");
157
- (0, test_1.expect)(value).toBe("a\nb");
158
- });
159
- (0, test_1.test)("Insert key (no-op for value)", async () => {
160
- const html = `<!doctype html>
161
- <input id="t" />`;
162
- const page = await v3.context.awaitActivePage();
163
- await page.goto(dataUrl(html), {
164
- waitUntil: "domcontentloaded",
165
- timeoutMs: 15000,
166
- });
167
- await page.locator("#t").click();
168
- await page.type("abc");
169
- await page.keyPress("Insert");
170
- const value = await page.evaluate((sel) => document.querySelector(sel).value, "#t");
171
- (0, test_1.expect)(value).toBe("abc");
172
- });
173
- (0, test_1.test)("Enter submits form from text input", async () => {
174
- const html = `<!doctype html>
175
- <form id="f">
176
- <input id="name" />
177
- <button id="submit">Go</button>
178
- <input id="submitted" />
179
- </form>
180
- <script>
181
- document.getElementById('f').addEventListener('submit', (e) => {
182
- e.preventDefault();
183
- document.getElementById('submitted').value = 'yes';
184
- });
185
- </script>`;
186
- const page = await v3.context.awaitActivePage();
187
- await page.goto(dataUrl(html), {
188
- waitUntil: "domcontentloaded",
189
- timeoutMs: 15000,
190
- });
191
- await page.locator("#name").click();
192
- await page.type("foo");
193
- await page.keyPress("Enter");
194
- const submitted = await page.evaluate(() => document.getElementById("submitted")?.value || "");
195
- (0, test_1.expect)(submitted).toBe("yes");
196
- });
197
- (0, test_1.test)("Enter in textarea does not submit form (inserts newline)", async () => {
198
- const html = `<!doctype html>
199
- <form id="f">
200
- <textarea id="ta"></textarea>
201
- <button id="submit">Go</button>
202
- <input id="submitted" />
203
- </form>
204
- <script>
205
- document.getElementById('f').addEventListener('submit', (e) => {
206
- e.preventDefault();
207
- document.getElementById('submitted').value = 'yes';
208
- });
209
- </script>`;
210
- const page = await v3.context.awaitActivePage();
211
- await page.goto(dataUrl(html), {
212
- waitUntil: "domcontentloaded",
213
- timeoutMs: 15000,
214
- });
215
- await page.locator("#ta").click();
216
- await page.keyPress("a");
217
- await page.keyPress("Enter");
218
- await page.keyPress("b");
219
- const submitted = await page.evaluate(() => document.getElementById("submitted")?.value || "");
220
- const value = await page.evaluate((sel) => document.querySelector(sel).value, "#ta");
221
- (0, test_1.expect)(submitted).toBe("");
222
- (0, test_1.expect)(value).toBe("a\nb");
223
- });
224
- (0, test_1.test)('pressing "+" key types plus sign', async () => {
225
- const html = `<!doctype html>
226
- <input id="t" />`;
227
- const page = await v3.context.awaitActivePage();
228
- await page.goto(dataUrl(html), {
229
- waitUntil: "domcontentloaded",
230
- timeoutMs: 15000,
231
- });
232
- await page.locator("#t").click();
233
- await page.keyPress("+");
234
- const value = await page.evaluate((sel) => document.querySelector(sel).value, "#t");
235
- (0, test_1.expect)(value).toBe("+");
236
- });
237
- (0, test_1.test)("modifier state clears on keyPress error", async () => {
238
- const html = `<!doctype html>
239
- <input id="t" />`;
240
- const page = await v3.context.awaitActivePage();
241
- await page.goto(dataUrl(html), {
242
- waitUntil: "domcontentloaded",
243
- timeoutMs: 15000,
244
- });
245
- await page.locator("#t").click();
246
- // Try invalid key that might throw
247
- try {
248
- await page.keyPress("Cmd+InvalidKey123");
249
- }
250
- catch {
251
- // Expected to fail
252
- }
253
- // Now try normal typing - should work if modifiers were cleared
254
- await page.type("ok");
255
- const value = await page.evaluate((sel) => document.querySelector(sel).value, "#t");
256
- (0, test_1.expect)(value).toBe("ok");
257
- });
258
- });
259
- //# sourceMappingURL=keyboard.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keyboard.spec.js","sourceRoot":"","sources":["../../../../tests/integration/keyboard.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { test, expect } from \"@playwright/test\";\nimport { V3 } from \"../../lib/v3/v3.js\";\nimport { v3DynamicTestConfig } from \"./v3.dynamic.config.js\";\nimport { closeV3 } from \"./testUtils.js\";\n\nfunction dataUrl(html: string): string {\n return \"data:text/html;charset=utf-8,\" + encodeURIComponent(html);\n}\n\ntest.describe(\"V3 keyboard shortcuts and typing\", () => {\n let v3: V3;\n\n test.beforeEach(async () => {\n v3 = new V3(v3DynamicTestConfig);\n await v3.init();\n });\n\n test.afterEach(async () => {\n await closeV3(v3);\n });\n\n test(\"typing, select-all + delete clears input (Cmd maps cross-OS)\", async () => {\n const html = `<!doctype html>\n <input id=\"i1\" autofocus />`;\n const page = await v3.context.awaitActivePage();\n await page.goto(dataUrl(html), {\n waitUntil: \"domcontentloaded\",\n timeoutMs: 15000,\n });\n\n await page.locator(\"#i1\").click();\n await page.type(\"Hello World\");\n\n await page.keyPress(\"Cmd+A\");\n await page.keyPress(\"Delete\");\n\n const value = await page.evaluate(\n (sel) => (document.querySelector(sel) as HTMLInputElement)!.value,\n \"#i1\",\n );\n expect(value).toBe(\"\");\n });\n\n test(\"accelerator does not inject printable text (Cmd+B does not type 'b')\", async () => {\n const html = `<!doctype html>\n <input id=\"i\" />`;\n const page = await v3.context.awaitActivePage();\n await page.goto(dataUrl(html), {\n waitUntil: \"domcontentloaded\",\n timeoutMs: 15000,\n });\n\n await page.locator(\"#i\").click();\n await page.type(\"xyz\");\n\n await page.keyPress(\"Cmd+B\");\n\n const value = await page.evaluate(\n (sel) => (document.querySelector(sel) as HTMLInputElement)!.value,\n \"#i\",\n );\n expect(value).toBe(\"xyz\");\n });\n\n test(\"Tab and Shift+Tab move focus\", async () => {\n const html = `<!doctype html>\n <input id=\"a\" />\n <input id=\"b\" />`;\n const page = await v3.context.awaitActivePage();\n await page.goto(dataUrl(html), {\n waitUntil: \"domcontentloaded\",\n timeoutMs: 15000,\n });\n\n await page.locator(\"#a\").click();\n await page.keyPress(\"Tab\");\n const active1 = await page.evaluate(\n () => (document.activeElement as HTMLElement)?.id || \"\",\n );\n expect(active1).toBe(\"b\");\n\n await page.keyPress(\"Shift+Tab\");\n const active2 = await page.evaluate(\n () => (document.activeElement as HTMLElement)?.id || \"\",\n );\n expect(active2).toBe(\"a\");\n });\n\n test(\"cut clears the field (Cmd+X)\", async () => {\n const html = `<!doctype html>\n <input id=\"t\" />`;\n const page = await v3.context.awaitActivePage();\n await page.goto(dataUrl(html), {\n waitUntil: \"domcontentloaded\",\n timeoutMs: 15000,\n });\n\n await page.locator(\"#t\").click();\n await page.type(\"cut-me\");\n await page.keyPress(\"Cmd+A\");\n await page.keyPress(\"Cmd+X\");\n\n const value = await page.evaluate(\n (sel) => (document.querySelector(sel) as HTMLInputElement)!.value,\n \"#t\",\n );\n expect(value).toBe(\"\");\n });\n\n test(\"single printable via keyPress types characters (a, Shift+A, space)\", async () => {\n const html = `<!doctype html>\n <input id=\"t\" autofocus />`;\n const page = await v3.context.awaitActivePage();\n await page.goto(dataUrl(html), {\n waitUntil: \"domcontentloaded\",\n timeoutMs: 15000,\n });\n\n await page.locator(\"#t\").click();\n await page.keyPress(\"a\");\n await page.keyPress(\"Shift+A\");\n await page.keyPress(\" \");\n\n const value = await page.evaluate(\n (sel) => (document.querySelector(sel) as HTMLInputElement)!.value,\n \"#t\",\n );\n expect(value).toBe(\"aA \");\n });\n\n test(\"Backspace removes last char\", async () => {\n const html = `<!doctype html>\n <input id=\"t\" />`;\n const page = await v3.context.awaitActivePage();\n await page.goto(dataUrl(html), {\n waitUntil: \"domcontentloaded\",\n timeoutMs: 15000,\n });\n\n await page.locator(\"#t\").click();\n await page.type(\"ab\");\n await page.keyPress(\"Backspace\");\n const value = await page.evaluate(\n (sel) => (document.querySelector(sel) as HTMLInputElement)!.value,\n \"#t\",\n );\n expect(value).toBe(\"a\");\n });\n\n test(\"Delete removes next char at caret\", async () => {\n const html = `<!doctype html>\n <input id=\"t\" />`;\n const page = await v3.context.awaitActivePage();\n await page.goto(dataUrl(html), {\n waitUntil: \"domcontentloaded\",\n timeoutMs: 15000,\n });\n\n await page.locator(\"#t\").click();\n await page.type(\"abc\");\n // place caret between a|bc\n await page.evaluate(() => {\n const el = document.getElementById(\"t\") as HTMLInputElement;\n el.focus();\n el.setSelectionRange(1, 1);\n });\n await page.keyPress(\"Delete\");\n const value = await page.evaluate(\n (sel) => (document.querySelector(sel) as HTMLInputElement)!.value,\n \"#t\",\n );\n expect(value).toBe(\"ac\");\n });\n\n test(\"ArrowLeft moves caret and typing inserts in middle\", async () => {\n const html = `<!doctype html>\n <input id=\"t\" />`;\n const page = await v3.context.awaitActivePage();\n await page.goto(dataUrl(html), {\n waitUntil: \"domcontentloaded\",\n timeoutMs: 15000,\n });\n\n await page.locator(\"#t\").click();\n await page.type(\"ac\");\n await page.keyPress(\"ArrowLeft\");\n await page.keyPress(\"b\");\n const value = await page.evaluate(\n (sel) => (document.querySelector(sel) as HTMLInputElement)!.value,\n \"#t\",\n );\n expect(value).toBe(\"abc\");\n });\n\n test(\"Enter inserts newline in textarea\", async () => {\n const html = `<!doctype html>\n <textarea id=\"ta\"></textarea>`;\n const page = await v3.context.awaitActivePage();\n await page.goto(dataUrl(html), {\n waitUntil: \"domcontentloaded\",\n timeoutMs: 15000,\n });\n\n await page.locator(\"#ta\").click();\n await page.keyPress(\"a\");\n await page.keyPress(\"Enter\");\n await page.keyPress(\"b\");\n const value = await page.evaluate(\n (sel) => (document.querySelector(sel) as HTMLTextAreaElement)!.value,\n \"#ta\",\n );\n expect(value).toBe(\"a\\nb\");\n });\n\n test(\"Insert key (no-op for value)\", async () => {\n const html = `<!doctype html>\n <input id=\"t\" />`;\n const page = await v3.context.awaitActivePage();\n await page.goto(dataUrl(html), {\n waitUntil: \"domcontentloaded\",\n timeoutMs: 15000,\n });\n\n await page.locator(\"#t\").click();\n await page.type(\"abc\");\n await page.keyPress(\"Insert\");\n const value = await page.evaluate(\n (sel) => (document.querySelector(sel) as HTMLInputElement)!.value,\n \"#t\",\n );\n expect(value).toBe(\"abc\");\n });\n\n test(\"Enter submits form from text input\", async () => {\n const html = `<!doctype html>\n <form id=\"f\">\n <input id=\"name\" />\n <button id=\"submit\">Go</button>\n <input id=\"submitted\" />\n </form>\n <script>\n document.getElementById('f').addEventListener('submit', (e) => {\n e.preventDefault();\n document.getElementById('submitted').value = 'yes';\n });\n </script>`;\n const page = await v3.context.awaitActivePage();\n await page.goto(dataUrl(html), {\n waitUntil: \"domcontentloaded\",\n timeoutMs: 15000,\n });\n\n await page.locator(\"#name\").click();\n await page.type(\"foo\");\n await page.keyPress(\"Enter\");\n\n const submitted = await page.evaluate(\n () =>\n (document.getElementById(\"submitted\") as HTMLInputElement)?.value || \"\",\n );\n expect(submitted).toBe(\"yes\");\n });\n\n test(\"Enter in textarea does not submit form (inserts newline)\", async () => {\n const html = `<!doctype html>\n <form id=\"f\">\n <textarea id=\"ta\"></textarea>\n <button id=\"submit\">Go</button>\n <input id=\"submitted\" />\n </form>\n <script>\n document.getElementById('f').addEventListener('submit', (e) => {\n e.preventDefault();\n document.getElementById('submitted').value = 'yes';\n });\n </script>`;\n const page = await v3.context.awaitActivePage();\n await page.goto(dataUrl(html), {\n waitUntil: \"domcontentloaded\",\n timeoutMs: 15000,\n });\n\n await page.locator(\"#ta\").click();\n await page.keyPress(\"a\");\n await page.keyPress(\"Enter\");\n await page.keyPress(\"b\");\n\n const submitted = await page.evaluate(\n () =>\n (document.getElementById(\"submitted\") as HTMLInputElement)?.value || \"\",\n );\n const value = await page.evaluate(\n (sel) => (document.querySelector(sel) as HTMLTextAreaElement)!.value,\n \"#ta\",\n );\n expect(submitted).toBe(\"\");\n expect(value).toBe(\"a\\nb\");\n });\n\n test('pressing \"+\" key types plus sign', async () => {\n const html = `<!doctype html>\n <input id=\"t\" />`;\n const page = await v3.context.awaitActivePage();\n await page.goto(dataUrl(html), {\n waitUntil: \"domcontentloaded\",\n timeoutMs: 15000,\n });\n\n await page.locator(\"#t\").click();\n await page.keyPress(\"+\");\n const value = await page.evaluate(\n (sel) => (document.querySelector(sel) as HTMLInputElement)!.value,\n \"#t\",\n );\n expect(value).toBe(\"+\");\n });\n\n test(\"modifier state clears on keyPress error\", async () => {\n const html = `<!doctype html>\n <input id=\"t\" />`;\n const page = await v3.context.awaitActivePage();\n await page.goto(dataUrl(html), {\n waitUntil: \"domcontentloaded\",\n timeoutMs: 15000,\n });\n\n await page.locator(\"#t\").click();\n // Try invalid key that might throw\n try {\n await page.keyPress(\"Cmd+InvalidKey123\");\n } catch {\n // Expected to fail\n }\n\n // Now try normal typing - should work if modifiers were cleared\n await page.type(\"ok\");\n const value = await page.evaluate(\n (sel) => (document.querySelector(sel) as HTMLInputElement)!.value,\n \"#t\",\n );\n expect(value).toBe(\"ok\");\n });\n});\n"]}
@@ -1,150 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const test_1 = require("@playwright/test");
4
- const v3_js_1 = require("../../lib/v3/v3.js");
5
- const v3_config_js_1 = require("./v3.config.js");
6
- test_1.test.describe("Locator.backendNodeId() - CDP DOM node ID", () => {
7
- let v3;
8
- test_1.test.beforeEach(async () => {
9
- v3 = new v3_js_1.V3(v3_config_js_1.v3TestConfig);
10
- await v3.init();
11
- });
12
- test_1.test.afterEach(async () => {
13
- await v3?.close?.().catch(() => { });
14
- });
15
- (0, test_1.test)("returns a valid backend node ID for an element", async () => {
16
- const page = v3.context.pages()[0];
17
- await page.goto("data:text/html," +
18
- encodeURIComponent(`<!doctype html><html><body>
19
- <button id="btn">Click me</button>
20
- </body></html>`));
21
- const locator = page.locator("button#btn");
22
- const nodeId = await locator.backendNodeId();
23
- // Backend node ID should be a valid number
24
- (0, test_1.expect)(typeof nodeId).toBe("number");
25
- (0, test_1.expect)(nodeId).toBeGreaterThan(0);
26
- });
27
- (0, test_1.test)("returns different node IDs for different elements", async () => {
28
- const page = v3.context.pages()[0];
29
- await page.goto("data:text/html," +
30
- encodeURIComponent(`<!doctype html><html><body>
31
- <div id="div1">First</div>
32
- <div id="div2">Second</div>
33
- <p id="p1">Third</p>
34
- </body></html>`));
35
- const nodeId1 = await page.locator("div#div1").backendNodeId();
36
- const nodeId2 = await page.locator("div#div2").backendNodeId();
37
- const nodeId3 = await page.locator("p#p1").backendNodeId();
38
- // All node IDs should be unique
39
- (0, test_1.expect)(nodeId1).not.toBe(nodeId2);
40
- (0, test_1.expect)(nodeId2).not.toBe(nodeId3);
41
- (0, test_1.expect)(nodeId1).not.toBe(nodeId3);
42
- });
43
- (0, test_1.test)("returns consistent node ID for the same element", async () => {
44
- const page = v3.context.pages()[0];
45
- await page.goto("data:text/html," +
46
- encodeURIComponent(`<!doctype html><html><body>
47
- <input type="text" id="input" />
48
- </body></html>`));
49
- const locator = page.locator("input#input");
50
- // Call multiple times on the same element
51
- const nodeId1 = await locator.backendNodeId();
52
- const nodeId2 = await locator.backendNodeId();
53
- // Should return the same ID (same element)
54
- (0, test_1.expect)(nodeId1).toBe(nodeId2);
55
- });
56
- (0, test_1.test)("returns node ID for nested elements", async () => {
57
- const page = v3.context.pages()[0];
58
- await page.goto("data:text/html," +
59
- encodeURIComponent(`<!doctype html><html><body>
60
- <div id="outer">
61
- <div id="middle">
62
- <span id="inner">Deep</span>
63
- </div>
64
- </div>
65
- </body></html>`));
66
- const outerNodeId = await page.locator("div#outer").backendNodeId();
67
- const middleNodeId = await page.locator("div#middle").backendNodeId();
68
- const innerNodeId = await page.locator("span#inner").backendNodeId();
69
- // All should be valid and unique
70
- (0, test_1.expect)(outerNodeId).toBeGreaterThan(0);
71
- (0, test_1.expect)(middleNodeId).toBeGreaterThan(0);
72
- (0, test_1.expect)(innerNodeId).toBeGreaterThan(0);
73
- (0, test_1.expect)(new Set([outerNodeId, middleNodeId, innerNodeId]).size).toBe(3);
74
- });
75
- (0, test_1.test)("returns node ID for elements with various attributes", async () => {
76
- const page = v3.context.pages()[0];
77
- await page.goto("data:text/html," +
78
- encodeURIComponent(`<!doctype html><html><body>
79
- <button class="btn primary" data-test="submit" aria-label="Submit form">Save</button>
80
- </body></html>`));
81
- const locator = page.locator("button");
82
- const nodeId = await locator.backendNodeId();
83
- // Should work with complex elements
84
- (0, test_1.expect)(typeof nodeId).toBe("number");
85
- (0, test_1.expect)(nodeId).toBeGreaterThan(0);
86
- });
87
- (0, test_1.test)("returns node ID for form elements", async () => {
88
- const page = v3.context.pages()[0];
89
- await page.goto("data:text/html," +
90
- encodeURIComponent(`<!doctype html><html><body>
91
- <form>
92
- <input type="email" id="email" placeholder="Email" />
93
- <textarea id="message"></textarea>
94
- <select id="country">
95
- <option value="us">USA</option>
96
- <option value="ca">Canada</option>
97
- </select>
98
- <button type="submit">Submit</button>
99
- </form>
100
- </body></html>`));
101
- const emailNodeId = await page.locator("input#email").backendNodeId();
102
- const textareaNodeId = await page
103
- .locator("textarea#message")
104
- .backendNodeId();
105
- const selectNodeId = await page.locator("select#country").backendNodeId();
106
- const submitNodeId = await page
107
- .locator("button[type='submit']")
108
- .backendNodeId();
109
- // All form elements should have valid node IDs
110
- (0, test_1.expect)(emailNodeId).toBeGreaterThan(0);
111
- (0, test_1.expect)(textareaNodeId).toBeGreaterThan(0);
112
- (0, test_1.expect)(selectNodeId).toBeGreaterThan(0);
113
- (0, test_1.expect)(submitNodeId).toBeGreaterThan(0);
114
- // All should be unique
115
- const nodeIds = [emailNodeId, textareaNodeId, selectNodeId, submitNodeId];
116
- (0, test_1.expect)(new Set(nodeIds).size).toBe(4);
117
- });
118
- (0, test_1.test)("returns node ID for dynamically created elements", async () => {
119
- const page = v3.context.pages()[0];
120
- await page.goto("data:text/html," +
121
- encodeURIComponent(`<!doctype html><html><body>
122
- <div id="container"></div>
123
- <script>
124
- const container = document.getElementById('container');
125
- const newBtn = document.createElement('button');
126
- newBtn.id = 'dynamic-btn';
127
- newBtn.textContent = 'Dynamically created';
128
- container.appendChild(newBtn);
129
- </script>
130
- </body></html>`));
131
- const locator = page.locator("button#dynamic-btn");
132
- const nodeId = await locator.backendNodeId();
133
- // Should work with dynamically created elements
134
- (0, test_1.expect)(typeof nodeId).toBe("number");
135
- (0, test_1.expect)(nodeId).toBeGreaterThan(0);
136
- });
137
- (0, test_1.test)("returns node ID for elements with text selectors", async () => {
138
- const page = v3.context.pages()[0];
139
- await page.goto("data:text/html," +
140
- encodeURIComponent(`<!doctype html><html><body>
141
- <button>Submit Form</button>
142
- </body></html>`));
143
- const locator = page.locator("text=Submit Form");
144
- const nodeId = await locator.backendNodeId();
145
- // Should work with text-based selectors
146
- (0, test_1.expect)(typeof nodeId).toBe("number");
147
- (0, test_1.expect)(nodeId).toBeGreaterThan(0);
148
- });
149
- });
150
- //# sourceMappingURL=locator-backend-node-id.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"locator-backend-node-id.spec.js","sourceRoot":"","sources":["../../../../tests/integration/locator-backend-node-id.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { test, expect } from \"@playwright/test\";\nimport { V3 } from \"../../lib/v3/v3.js\";\nimport { v3TestConfig } from \"./v3.config.js\";\n\ntest.describe(\"Locator.backendNodeId() - CDP DOM node ID\", () => {\n let v3: V3;\n\n test.beforeEach(async () => {\n v3 = new V3(v3TestConfig);\n await v3.init();\n });\n\n test.afterEach(async () => {\n await v3?.close?.().catch(() => {});\n });\n\n test(\"returns a valid backend node ID for an element\", async () => {\n const page = v3.context.pages()[0];\n\n await page.goto(\n \"data:text/html,\" +\n encodeURIComponent(\n `<!doctype html><html><body>\n <button id=\"btn\">Click me</button>\n </body></html>`,\n ),\n );\n\n const locator = page.locator(\"button#btn\");\n const nodeId = await locator.backendNodeId();\n\n // Backend node ID should be a valid number\n expect(typeof nodeId).toBe(\"number\");\n expect(nodeId).toBeGreaterThan(0);\n });\n\n test(\"returns different node IDs for different elements\", async () => {\n const page = v3.context.pages()[0];\n\n await page.goto(\n \"data:text/html,\" +\n encodeURIComponent(\n `<!doctype html><html><body>\n <div id=\"div1\">First</div>\n <div id=\"div2\">Second</div>\n <p id=\"p1\">Third</p>\n </body></html>`,\n ),\n );\n\n const nodeId1 = await page.locator(\"div#div1\").backendNodeId();\n const nodeId2 = await page.locator(\"div#div2\").backendNodeId();\n const nodeId3 = await page.locator(\"p#p1\").backendNodeId();\n\n // All node IDs should be unique\n expect(nodeId1).not.toBe(nodeId2);\n expect(nodeId2).not.toBe(nodeId3);\n expect(nodeId1).not.toBe(nodeId3);\n });\n\n test(\"returns consistent node ID for the same element\", async () => {\n const page = v3.context.pages()[0];\n\n await page.goto(\n \"data:text/html,\" +\n encodeURIComponent(\n `<!doctype html><html><body>\n <input type=\"text\" id=\"input\" />\n </body></html>`,\n ),\n );\n\n const locator = page.locator(\"input#input\");\n\n // Call multiple times on the same element\n const nodeId1 = await locator.backendNodeId();\n const nodeId2 = await locator.backendNodeId();\n\n // Should return the same ID (same element)\n expect(nodeId1).toBe(nodeId2);\n });\n\n test(\"returns node ID for nested elements\", async () => {\n const page = v3.context.pages()[0];\n\n await page.goto(\n \"data:text/html,\" +\n encodeURIComponent(\n `<!doctype html><html><body>\n <div id=\"outer\">\n <div id=\"middle\">\n <span id=\"inner\">Deep</span>\n </div>\n </div>\n </body></html>`,\n ),\n );\n\n const outerNodeId = await page.locator(\"div#outer\").backendNodeId();\n const middleNodeId = await page.locator(\"div#middle\").backendNodeId();\n const innerNodeId = await page.locator(\"span#inner\").backendNodeId();\n\n // All should be valid and unique\n expect(outerNodeId).toBeGreaterThan(0);\n expect(middleNodeId).toBeGreaterThan(0);\n expect(innerNodeId).toBeGreaterThan(0);\n expect(new Set([outerNodeId, middleNodeId, innerNodeId]).size).toBe(3);\n });\n\n test(\"returns node ID for elements with various attributes\", async () => {\n const page = v3.context.pages()[0];\n\n await page.goto(\n \"data:text/html,\" +\n encodeURIComponent(\n `<!doctype html><html><body>\n <button class=\"btn primary\" data-test=\"submit\" aria-label=\"Submit form\">Save</button>\n </body></html>`,\n ),\n );\n\n const locator = page.locator(\"button\");\n const nodeId = await locator.backendNodeId();\n\n // Should work with complex elements\n expect(typeof nodeId).toBe(\"number\");\n expect(nodeId).toBeGreaterThan(0);\n });\n\n test(\"returns node ID for form elements\", async () => {\n const page = v3.context.pages()[0];\n\n await page.goto(\n \"data:text/html,\" +\n encodeURIComponent(\n `<!doctype html><html><body>\n <form>\n <input type=\"email\" id=\"email\" placeholder=\"Email\" />\n <textarea id=\"message\"></textarea>\n <select id=\"country\">\n <option value=\"us\">USA</option>\n <option value=\"ca\">Canada</option>\n </select>\n <button type=\"submit\">Submit</button>\n </form>\n </body></html>`,\n ),\n );\n\n const emailNodeId = await page.locator(\"input#email\").backendNodeId();\n const textareaNodeId = await page\n .locator(\"textarea#message\")\n .backendNodeId();\n const selectNodeId = await page.locator(\"select#country\").backendNodeId();\n const submitNodeId = await page\n .locator(\"button[type='submit']\")\n .backendNodeId();\n\n // All form elements should have valid node IDs\n expect(emailNodeId).toBeGreaterThan(0);\n expect(textareaNodeId).toBeGreaterThan(0);\n expect(selectNodeId).toBeGreaterThan(0);\n expect(submitNodeId).toBeGreaterThan(0);\n\n // All should be unique\n const nodeIds = [emailNodeId, textareaNodeId, selectNodeId, submitNodeId];\n expect(new Set(nodeIds).size).toBe(4);\n });\n\n test(\"returns node ID for dynamically created elements\", async () => {\n const page = v3.context.pages()[0];\n\n await page.goto(\n \"data:text/html,\" +\n encodeURIComponent(\n `<!doctype html><html><body>\n <div id=\"container\"></div>\n <script>\n const container = document.getElementById('container');\n const newBtn = document.createElement('button');\n newBtn.id = 'dynamic-btn';\n newBtn.textContent = 'Dynamically created';\n container.appendChild(newBtn);\n </script>\n </body></html>`,\n ),\n );\n\n const locator = page.locator(\"button#dynamic-btn\");\n const nodeId = await locator.backendNodeId();\n\n // Should work with dynamically created elements\n expect(typeof nodeId).toBe(\"number\");\n expect(nodeId).toBeGreaterThan(0);\n });\n\n test(\"returns node ID for elements with text selectors\", async () => {\n const page = v3.context.pages()[0];\n\n await page.goto(\n \"data:text/html,\" +\n encodeURIComponent(\n `<!doctype html><html><body>\n <button>Submit Form</button>\n </body></html>`,\n ),\n );\n\n const locator = page.locator(\"text=Submit Form\");\n const nodeId = await locator.backendNodeId();\n\n // Should work with text-based selectors\n expect(typeof nodeId).toBe(\"number\");\n expect(nodeId).toBeGreaterThan(0);\n });\n});\n"]}