@browserbasehq/orca 3.4.0-preview-4 → 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.
- package/dist/cjs/lib/v3/agent/AgentProvider.d.ts +1 -1
- package/dist/cjs/lib/v3/agent/AgentProvider.js.map +1 -1
- package/dist/cjs/lib/v3/launch/local.d.ts +2 -7
- package/dist/cjs/lib/v3/launch/local.js +47 -7
- package/dist/cjs/lib/v3/launch/local.js.map +1 -1
- package/dist/cjs/lib/v3/llm/aisdk.js +5 -0
- package/dist/cjs/lib/v3/llm/aisdk.js.map +1 -1
- package/dist/cjs/lib/v3/types/public/agent.d.ts +1 -1
- package/dist/cjs/lib/v3/types/public/agent.js.map +1 -1
- package/dist/cjs/lib/v3/types/public/api.d.ts +283 -0
- package/dist/cjs/lib/v3/types/public/api.js +50 -3
- package/dist/cjs/lib/v3/types/public/api.js.map +1 -1
- package/dist/cjs/lib/v3/types/public/model.d.ts +11 -7
- package/dist/cjs/lib/v3/types/public/model.js.map +1 -1
- package/dist/cjs/lib/v3/v3.js +2 -47
- package/dist/cjs/lib/v3/v3.js.map +1 -1
- package/dist/esm/lib/v3/agent/AgentProvider.d.ts +1 -1
- package/dist/esm/lib/v3/agent/AgentProvider.js.map +1 -1
- package/dist/esm/lib/v3/launch/local.d.ts +2 -7
- package/dist/esm/lib/v3/launch/local.js +48 -8
- package/dist/esm/lib/v3/launch/local.js.map +1 -1
- package/dist/esm/lib/v3/llm/aisdk.js +5 -0
- package/dist/esm/lib/v3/llm/aisdk.js.map +1 -1
- package/dist/esm/lib/v3/types/public/agent.d.ts +1 -1
- package/dist/esm/lib/v3/types/public/agent.js.map +1 -1
- package/dist/esm/lib/v3/types/public/api.d.ts +283 -0
- package/dist/esm/lib/v3/types/public/api.js +48 -1
- package/dist/esm/lib/v3/types/public/api.js.map +1 -1
- package/dist/esm/lib/v3/types/public/model.d.ts +11 -7
- package/dist/esm/lib/v3/types/public/model.js.map +1 -1
- package/dist/esm/lib/v3/v3.js +2 -47
- package/dist/esm/lib/v3/v3.js.map +1 -1
- package/package.json +4 -5
- package/dist/cjs/tests/cache-variables.test.d.ts +0 -1
- package/dist/cjs/tests/cache-variables.test.js +0 -221
- package/dist/cjs/tests/cache-variables.test.js.map +0 -1
- package/dist/cjs/tests/integration/agent-abort-signal.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/agent-abort-signal.spec.js +0 -123
- package/dist/cjs/tests/integration/agent-abort-signal.spec.js.map +0 -1
- package/dist/cjs/tests/integration/agent-cache-self-heal.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/agent-cache-self-heal.spec.js +0 -83
- package/dist/cjs/tests/integration/agent-cache-self-heal.spec.js.map +0 -1
- package/dist/cjs/tests/integration/agent-callbacks.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/agent-callbacks.spec.js +0 -385
- package/dist/cjs/tests/integration/agent-callbacks.spec.js.map +0 -1
- package/dist/cjs/tests/integration/agent-experimental-validation.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/agent-experimental-validation.spec.js +0 -362
- package/dist/cjs/tests/integration/agent-experimental-validation.spec.js.map +0 -1
- package/dist/cjs/tests/integration/agent-hybrid-mode.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/agent-hybrid-mode.spec.js +0 -262
- package/dist/cjs/tests/integration/agent-hybrid-mode.spec.js.map +0 -1
- package/dist/cjs/tests/integration/agent-message-continuation.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/agent-message-continuation.spec.js +0 -112
- package/dist/cjs/tests/integration/agent-message-continuation.spec.js.map +0 -1
- package/dist/cjs/tests/integration/agent-streaming.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/agent-streaming.spec.js +0 -140
- package/dist/cjs/tests/integration/agent-streaming.spec.js.map +0 -1
- package/dist/cjs/tests/integration/cdp-close-api-region.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/cdp-close-api-region.spec.js +0 -41
- package/dist/cjs/tests/integration/cdp-close-api-region.spec.js.map +0 -1
- package/dist/cjs/tests/integration/cdp-connection-close.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/cdp-connection-close.spec.js +0 -76
- package/dist/cjs/tests/integration/cdp-connection-close.spec.js.map +0 -1
- package/dist/cjs/tests/integration/cdp-session-detached.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/cdp-session-detached.spec.js +0 -45
- package/dist/cjs/tests/integration/cdp-session-detached.spec.js.map +0 -1
- package/dist/cjs/tests/integration/chrome-newtab-page-tracking.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/chrome-newtab-page-tracking.spec.js +0 -56
- package/dist/cjs/tests/integration/chrome-newtab-page-tracking.spec.js.map +0 -1
- package/dist/cjs/tests/integration/click-count.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/click-count.spec.js +0 -163
- package/dist/cjs/tests/integration/click-count.spec.js.map +0 -1
- package/dist/cjs/tests/integration/connect-to-existing-browser.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/connect-to-existing-browser.spec.js +0 -99
- package/dist/cjs/tests/integration/connect-to-existing-browser.spec.js.map +0 -1
- package/dist/cjs/tests/integration/context-addInitScript.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/context-addInitScript.spec.js +0 -285
- package/dist/cjs/tests/integration/context-addInitScript.spec.js.map +0 -1
- package/dist/cjs/tests/integration/context-extra-http-headers.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/context-extra-http-headers.spec.js +0 -49
- package/dist/cjs/tests/integration/context-extra-http-headers.spec.js.map +0 -1
- package/dist/cjs/tests/integration/cookies.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/cookies.spec.js +0 -187
- package/dist/cjs/tests/integration/cookies.spec.js.map +0 -1
- package/dist/cjs/tests/integration/default-page-tracking.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/default-page-tracking.spec.js +0 -52
- package/dist/cjs/tests/integration/default-page-tracking.spec.js.map +0 -1
- package/dist/cjs/tests/integration/downloads.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/downloads.spec.js +0 -52
- package/dist/cjs/tests/integration/downloads.spec.js.map +0 -1
- package/dist/cjs/tests/integration/flowLogger.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/flowLogger.spec.js +0 -718
- package/dist/cjs/tests/integration/flowLogger.spec.js.map +0 -1
- package/dist/cjs/tests/integration/frame-get-location-and-click.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/frame-get-location-and-click.spec.js +0 -57
- package/dist/cjs/tests/integration/frame-get-location-and-click.spec.js.map +0 -1
- package/dist/cjs/tests/integration/iframe-ctx-addInitScript-race.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/iframe-ctx-addInitScript-race.spec.js +0 -219
- package/dist/cjs/tests/integration/iframe-ctx-addInitScript-race.spec.js.map +0 -1
- package/dist/cjs/tests/integration/iframe-ctx-addInitScript.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/iframe-ctx-addInitScript.spec.js +0 -474
- package/dist/cjs/tests/integration/iframe-ctx-addInitScript.spec.js.map +0 -1
- package/dist/cjs/tests/integration/keep-alive.child.d.ts +0 -1
- package/dist/cjs/tests/integration/keep-alive.child.js +0 -85
- package/dist/cjs/tests/integration/keep-alive.child.js.map +0 -1
- package/dist/cjs/tests/integration/keep-alive.spec.d.ts +0 -22
- package/dist/cjs/tests/integration/keep-alive.spec.js +0 -490
- package/dist/cjs/tests/integration/keep-alive.spec.js.map +0 -1
- package/dist/cjs/tests/integration/keyboard.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/keyboard.spec.js +0 -259
- package/dist/cjs/tests/integration/keyboard.spec.js.map +0 -1
- package/dist/cjs/tests/integration/locator-backend-node-id.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/locator-backend-node-id.spec.js +0 -150
- package/dist/cjs/tests/integration/locator-backend-node-id.spec.js.map +0 -1
- package/dist/cjs/tests/integration/locator-content-methods.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/locator-content-methods.spec.js +0 -180
- package/dist/cjs/tests/integration/locator-content-methods.spec.js.map +0 -1
- package/dist/cjs/tests/integration/locator-count-iframe.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/locator-count-iframe.spec.js +0 -129
- package/dist/cjs/tests/integration/locator-count-iframe.spec.js.map +0 -1
- package/dist/cjs/tests/integration/locator-count.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/locator-count.spec.js +0 -68
- package/dist/cjs/tests/integration/locator-count.spec.js.map +0 -1
- package/dist/cjs/tests/integration/locator-fill.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/locator-fill.spec.js +0 -117
- package/dist/cjs/tests/integration/locator-fill.spec.js.map +0 -1
- package/dist/cjs/tests/integration/locator-input-methods.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/locator-input-methods.spec.js +0 -127
- package/dist/cjs/tests/integration/locator-input-methods.spec.js.map +0 -1
- package/dist/cjs/tests/integration/locator-nth.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/locator-nth.spec.js +0 -175
- package/dist/cjs/tests/integration/locator-nth.spec.js.map +0 -1
- package/dist/cjs/tests/integration/locator-select-option.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/locator-select-option.spec.js +0 -216
- package/dist/cjs/tests/integration/locator-select-option.spec.js.map +0 -1
- package/dist/cjs/tests/integration/logger-initialization.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/logger-initialization.spec.js +0 -597
- package/dist/cjs/tests/integration/logger-initialization.spec.js.map +0 -1
- package/dist/cjs/tests/integration/multi-instance-logger.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/multi-instance-logger.spec.js +0 -293
- package/dist/cjs/tests/integration/multi-instance-logger.spec.js.map +0 -1
- package/dist/cjs/tests/integration/nested-div.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/nested-div.spec.js +0 -22
- package/dist/cjs/tests/integration/nested-div.spec.js.map +0 -1
- package/dist/cjs/tests/integration/observe-element-id-format.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/observe-element-id-format.spec.js +0 -130
- package/dist/cjs/tests/integration/observe-element-id-format.spec.js.map +0 -1
- package/dist/cjs/tests/integration/page-addInitScript.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/page-addInitScript.spec.js +0 -94
- package/dist/cjs/tests/integration/page-addInitScript.spec.js.map +0 -1
- package/dist/cjs/tests/integration/page-console.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/page-console.spec.js +0 -47
- package/dist/cjs/tests/integration/page-console.spec.js.map +0 -1
- package/dist/cjs/tests/integration/page-drag-and-drop.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/page-drag-and-drop.spec.js +0 -437
- package/dist/cjs/tests/integration/page-drag-and-drop.spec.js.map +0 -1
- package/dist/cjs/tests/integration/page-extra-http-headers.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/page-extra-http-headers.spec.js +0 -85
- package/dist/cjs/tests/integration/page-extra-http-headers.spec.js.map +0 -1
- package/dist/cjs/tests/integration/page-goto-response.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/page-goto-response.spec.js +0 -34
- package/dist/cjs/tests/integration/page-goto-response.spec.js.map +0 -1
- package/dist/cjs/tests/integration/page-hover.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/page-hover.spec.js +0 -165
- package/dist/cjs/tests/integration/page-hover.spec.js.map +0 -1
- package/dist/cjs/tests/integration/page-screenshot.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/page-screenshot.spec.js +0 -292
- package/dist/cjs/tests/integration/page-screenshot.spec.js.map +0 -1
- package/dist/cjs/tests/integration/page-scroll.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/page-scroll.spec.js +0 -183
- package/dist/cjs/tests/integration/page-scroll.spec.js.map +0 -1
- package/dist/cjs/tests/integration/page-send-cdp.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/page-send-cdp.spec.js +0 -47
- package/dist/cjs/tests/integration/page-send-cdp.spec.js.map +0 -1
- package/dist/cjs/tests/integration/perform-understudy-method.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/perform-understudy-method.spec.js +0 -63
- package/dist/cjs/tests/integration/perform-understudy-method.spec.js.map +0 -1
- package/dist/cjs/tests/integration/setinputfiles.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/setinputfiles.spec.js +0 -133
- package/dist/cjs/tests/integration/setinputfiles.spec.js.map +0 -1
- package/dist/cjs/tests/integration/shadow-iframe-oopif.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/shadow-iframe-oopif.spec.js +0 -161
- package/dist/cjs/tests/integration/shadow-iframe-oopif.spec.js.map +0 -1
- package/dist/cjs/tests/integration/shadow-iframe-spif.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/shadow-iframe-spif.spec.js +0 -160
- package/dist/cjs/tests/integration/shadow-iframe-spif.spec.js.map +0 -1
- package/dist/cjs/tests/integration/testUtils.d.ts +0 -40
- package/dist/cjs/tests/integration/testUtils.js +0 -188
- package/dist/cjs/tests/integration/testUtils.js.map +0 -1
- package/dist/cjs/tests/integration/text-selector-innermost.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/text-selector-innermost.spec.js +0 -105
- package/dist/cjs/tests/integration/text-selector-innermost.spec.js.map +0 -1
- package/dist/cjs/tests/integration/timeouts.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/timeouts.spec.js +0 -309
- package/dist/cjs/tests/integration/timeouts.spec.js.map +0 -1
- package/dist/cjs/tests/integration/user-data-dir.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/user-data-dir.spec.js +0 -77
- package/dist/cjs/tests/integration/user-data-dir.spec.js.map +0 -1
- package/dist/cjs/tests/integration/v3.config.d.ts +0 -4
- package/dist/cjs/tests/integration/v3.config.js +0 -11
- package/dist/cjs/tests/integration/v3.config.js.map +0 -1
- package/dist/cjs/tests/integration/v3.dynamic.config.d.ts +0 -4
- package/dist/cjs/tests/integration/v3.dynamic.config.js +0 -48
- package/dist/cjs/tests/integration/v3.dynamic.config.js.map +0 -1
- package/dist/cjs/tests/integration/v3.playwright.config.d.ts +0 -2
- package/dist/cjs/tests/integration/v3.playwright.config.js +0 -48
- package/dist/cjs/tests/integration/v3.playwright.config.js.map +0 -1
- package/dist/cjs/tests/integration/wait-for-selector.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/wait-for-selector.spec.js +0 -683
- package/dist/cjs/tests/integration/wait-for-selector.spec.js.map +0 -1
- package/dist/cjs/tests/integration/wait-for-timeout.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/wait-for-timeout.spec.js +0 -118
- package/dist/cjs/tests/integration/wait-for-timeout.spec.js.map +0 -1
- package/dist/cjs/tests/integration/xpath-for-location-deep.spec.d.ts +0 -1
- package/dist/cjs/tests/integration/xpath-for-location-deep.spec.js +0 -87
- package/dist/cjs/tests/integration/xpath-for-location-deep.spec.js.map +0 -1
- package/dist/cjs/tests/unit/agent-captcha-hooks.test.d.ts +0 -1
- package/dist/cjs/tests/unit/agent-captcha-hooks.test.js +0 -341
- package/dist/cjs/tests/unit/agent-captcha-hooks.test.js.map +0 -1
- package/dist/cjs/tests/unit/agent-execution-model.test.d.ts +0 -1
- package/dist/cjs/tests/unit/agent-execution-model.test.js +0 -150
- package/dist/cjs/tests/unit/agent-execution-model.test.js.map +0 -1
- package/dist/cjs/tests/unit/agent-metrics.test.d.ts +0 -1
- package/dist/cjs/tests/unit/agent-metrics.test.js +0 -112
- package/dist/cjs/tests/unit/agent-metrics.test.js.map +0 -1
- package/dist/cjs/tests/unit/agent-mode-routing.test.d.ts +0 -1
- package/dist/cjs/tests/unit/agent-mode-routing.test.js +0 -88
- package/dist/cjs/tests/unit/agent-mode-routing.test.js.map +0 -1
- package/dist/cjs/tests/unit/agent-system-prompt-variables.test.d.ts +0 -1
- package/dist/cjs/tests/unit/agent-system-prompt-variables.test.js +0 -23
- package/dist/cjs/tests/unit/agent-system-prompt-variables.test.js.map +0 -1
- package/dist/cjs/tests/unit/agent-temperature.test.d.ts +0 -1
- package/dist/cjs/tests/unit/agent-temperature.test.js +0 -191
- package/dist/cjs/tests/unit/agent-temperature.test.js.map +0 -1
- package/dist/cjs/tests/unit/agent-variables-validation.test.d.ts +0 -1
- package/dist/cjs/tests/unit/agent-variables-validation.test.js +0 -43
- package/dist/cjs/tests/unit/agent-variables-validation.test.js.map +0 -1
- package/dist/cjs/tests/unit/aisdk-clients.test.d.ts +0 -1
- package/dist/cjs/tests/unit/aisdk-clients.test.js +0 -86
- package/dist/cjs/tests/unit/aisdk-clients.test.js.map +0 -1
- package/dist/cjs/tests/unit/anthropic-cua-adaptive-thinking.test.d.ts +0 -1
- package/dist/cjs/tests/unit/anthropic-cua-adaptive-thinking.test.js +0 -250
- package/dist/cjs/tests/unit/anthropic-cua-adaptive-thinking.test.js.map +0 -1
- package/dist/cjs/tests/unit/anthropic-cua-triple-click.test.d.ts +0 -1
- package/dist/cjs/tests/unit/anthropic-cua-triple-click.test.js +0 -87
- package/dist/cjs/tests/unit/anthropic-cua-triple-click.test.js.map +0 -1
- package/dist/cjs/tests/unit/api-client-observe-variables.test.d.ts +0 -1
- package/dist/cjs/tests/unit/api-client-observe-variables.test.js +0 -135
- package/dist/cjs/tests/unit/api-client-observe-variables.test.js.map +0 -1
- package/dist/cjs/tests/unit/api-multiregion.test.d.ts +0 -1
- package/dist/cjs/tests/unit/api-multiregion.test.js +0 -58
- package/dist/cjs/tests/unit/api-multiregion.test.js.map +0 -1
- package/dist/cjs/tests/unit/api-optional-model-api-key.test.d.ts +0 -1
- package/dist/cjs/tests/unit/api-optional-model-api-key.test.js +0 -155
- package/dist/cjs/tests/unit/api-optional-model-api-key.test.js.map +0 -1
- package/dist/cjs/tests/unit/api-variables-schema.test.d.ts +0 -1
- package/dist/cjs/tests/unit/api-variables-schema.test.js +0 -69
- package/dist/cjs/tests/unit/api-variables-schema.test.js.map +0 -1
- package/dist/cjs/tests/unit/browserbase-session-accessors.test.d.ts +0 -1
- package/dist/cjs/tests/unit/browserbase-session-accessors.test.js +0 -142
- package/dist/cjs/tests/unit/browserbase-session-accessors.test.js.map +0 -1
- package/dist/cjs/tests/unit/cache-llm-resolution.test.d.ts +0 -1
- package/dist/cjs/tests/unit/cache-llm-resolution.test.js +0 -186
- package/dist/cjs/tests/unit/cache-llm-resolution.test.js.map +0 -1
- package/dist/cjs/tests/unit/captcha-solver.test.d.ts +0 -1
- package/dist/cjs/tests/unit/captcha-solver.test.js +0 -154
- package/dist/cjs/tests/unit/captcha-solver.test.js.map +0 -1
- package/dist/cjs/tests/unit/cdp-connection-close.test.d.ts +0 -1
- package/dist/cjs/tests/unit/cdp-connection-close.test.js +0 -74
- package/dist/cjs/tests/unit/cdp-connection-close.test.js.map +0 -1
- package/dist/cjs/tests/unit/context-extra-http-headers.test.d.ts +0 -1
- package/dist/cjs/tests/unit/context-extra-http-headers.test.js +0 -58
- package/dist/cjs/tests/unit/context-extra-http-headers.test.js.map +0 -1
- package/dist/cjs/tests/unit/cookies.test.d.ts +0 -1
- package/dist/cjs/tests/unit/cookies.test.js +0 -944
- package/dist/cjs/tests/unit/cookies.test.js.map +0 -1
- package/dist/cjs/tests/unit/flowlogger-capturing-cdp.test.d.ts +0 -1
- package/dist/cjs/tests/unit/flowlogger-capturing-cdp.test.js +0 -95
- package/dist/cjs/tests/unit/flowlogger-capturing-cdp.test.js.map +0 -1
- package/dist/cjs/tests/unit/flowlogger-capturing-llm.test.d.ts +0 -1
- package/dist/cjs/tests/unit/flowlogger-capturing-llm.test.js +0 -43
- package/dist/cjs/tests/unit/flowlogger-capturing-llm.test.js.map +0 -1
- package/dist/cjs/tests/unit/flowlogger-eventstore.test.d.ts +0 -1
- package/dist/cjs/tests/unit/flowlogger-eventstore.test.js +0 -250
- package/dist/cjs/tests/unit/flowlogger-eventstore.test.js.map +0 -1
- package/dist/cjs/tests/unit/frame-registry-oopif-adoption.test.d.ts +0 -1
- package/dist/cjs/tests/unit/frame-registry-oopif-adoption.test.js +0 -60
- package/dist/cjs/tests/unit/frame-registry-oopif-adoption.test.js.map +0 -1
- package/dist/cjs/tests/unit/helpers/mockCDPSession.d.ts +0 -19
- package/dist/cjs/tests/unit/helpers/mockCDPSession.js +0 -29
- package/dist/cjs/tests/unit/helpers/mockCDPSession.js.map +0 -1
- package/dist/cjs/tests/unit/inference-temperature.test.d.ts +0 -1
- package/dist/cjs/tests/unit/inference-temperature.test.js +0 -65
- package/dist/cjs/tests/unit/inference-temperature.test.js.map +0 -1
- package/dist/cjs/tests/unit/llm-middleware.test.d.ts +0 -1
- package/dist/cjs/tests/unit/llm-middleware.test.js +0 -495
- package/dist/cjs/tests/unit/llm-middleware.test.js.map +0 -1
- package/dist/cjs/tests/unit/llm-provider.test.d.ts +0 -1
- package/dist/cjs/tests/unit/llm-provider.test.js +0 -64
- package/dist/cjs/tests/unit/llm-provider.test.js.map +0 -1
- package/dist/cjs/tests/unit/microsoft-cua-client.test.d.ts +0 -1
- package/dist/cjs/tests/unit/microsoft-cua-client.test.js +0 -86
- package/dist/cjs/tests/unit/microsoft-cua-client.test.js.map +0 -1
- package/dist/cjs/tests/unit/model-deprecation.test.d.ts +0 -1
- package/dist/cjs/tests/unit/model-deprecation.test.js +0 -142
- package/dist/cjs/tests/unit/model-deprecation.test.js.map +0 -1
- package/dist/cjs/tests/unit/model-utils.test.d.ts +0 -1
- package/dist/cjs/tests/unit/model-utils.test.js +0 -42
- package/dist/cjs/tests/unit/model-utils.test.js.map +0 -1
- package/dist/cjs/tests/unit/openai-compatible-temperature.test.d.ts +0 -1
- package/dist/cjs/tests/unit/openai-compatible-temperature.test.js +0 -84
- package/dist/cjs/tests/unit/openai-compatible-temperature.test.js.map +0 -1
- package/dist/cjs/tests/unit/openai-cua-client.test.d.ts +0 -1
- package/dist/cjs/tests/unit/openai-cua-client.test.js +0 -71
- package/dist/cjs/tests/unit/openai-cua-client.test.js.map +0 -1
- package/dist/cjs/tests/unit/page-extra-http-headers.test.d.ts +0 -1
- package/dist/cjs/tests/unit/page-extra-http-headers.test.js +0 -92
- package/dist/cjs/tests/unit/page-extra-http-headers.test.js.map +0 -1
- package/dist/cjs/tests/unit/page-snapshot.test.d.ts +0 -1
- package/dist/cjs/tests/unit/page-snapshot.test.js +0 -75
- package/dist/cjs/tests/unit/page-snapshot.test.js.map +0 -1
- package/dist/cjs/tests/unit/prompt-observe-variables.test.d.ts +0 -1
- package/dist/cjs/tests/unit/prompt-observe-variables.test.js +0 -25
- package/dist/cjs/tests/unit/prompt-observe-variables.test.js.map +0 -1
- package/dist/cjs/tests/unit/public-api/export-surface.test.d.ts +0 -1
- package/dist/cjs/tests/unit/public-api/export-surface.test.js +0 -107
- package/dist/cjs/tests/unit/public-api/export-surface.test.js.map +0 -1
- package/dist/cjs/tests/unit/public-api/llm-and-agents.test.d.ts +0 -1
- package/dist/cjs/tests/unit/public-api/llm-and-agents.test.js +0 -179
- package/dist/cjs/tests/unit/public-api/llm-and-agents.test.js.map +0 -1
- package/dist/cjs/tests/unit/public-api/public-error-types.test.d.ts +0 -62
- package/dist/cjs/tests/unit/public-api/public-error-types.test.js +0 -110
- package/dist/cjs/tests/unit/public-api/public-error-types.test.js.map +0 -1
- package/dist/cjs/tests/unit/public-api/public-types.test.d.ts +0 -1
- package/dist/cjs/tests/unit/public-api/public-types.test.js +0 -99
- package/dist/cjs/tests/unit/public-api/public-types.test.js.map +0 -1
- package/dist/cjs/tests/unit/public-api/runtime-utils.test.d.ts +0 -1
- package/dist/cjs/tests/unit/public-api/runtime-utils.test.js +0 -60
- package/dist/cjs/tests/unit/public-api/runtime-utils.test.js.map +0 -1
- package/dist/cjs/tests/unit/public-api/schema-utils.test.d.ts +0 -1
- package/dist/cjs/tests/unit/public-api/schema-utils.test.js +0 -95
- package/dist/cjs/tests/unit/public-api/schema-utils.test.js.map +0 -1
- package/dist/cjs/tests/unit/public-api/timeout-error-types.test.d.ts +0 -1
- package/dist/cjs/tests/unit/public-api/timeout-error-types.test.js +0 -121
- package/dist/cjs/tests/unit/public-api/timeout-error-types.test.js.map +0 -1
- package/dist/cjs/tests/unit/public-api/tool-type-export.test.d.ts +0 -1
- package/dist/cjs/tests/unit/public-api/tool-type-export.test.js +0 -65
- package/dist/cjs/tests/unit/public-api/tool-type-export.test.js.map +0 -1
- package/dist/cjs/tests/unit/public-api/v3-core.test.d.ts +0 -1
- package/dist/cjs/tests/unit/public-api/v3-core.test.js +0 -108
- package/dist/cjs/tests/unit/public-api/v3-core.test.js.map +0 -1
- package/dist/cjs/tests/unit/safety-confirmation.test.d.ts +0 -1
- package/dist/cjs/tests/unit/safety-confirmation.test.js +0 -110
- package/dist/cjs/tests/unit/safety-confirmation.test.js.map +0 -1
- package/dist/cjs/tests/unit/snapshot-a11y-resolvers.test.d.ts +0 -1
- package/dist/cjs/tests/unit/snapshot-a11y-resolvers.test.js +0 -431
- package/dist/cjs/tests/unit/snapshot-a11y-resolvers.test.js.map +0 -1
- package/dist/cjs/tests/unit/snapshot-a11y-tree-utils.test.d.ts +0 -1
- package/dist/cjs/tests/unit/snapshot-a11y-tree-utils.test.js +0 -339
- package/dist/cjs/tests/unit/snapshot-a11y-tree-utils.test.js.map +0 -1
- package/dist/cjs/tests/unit/snapshot-capture-orchestration.test.d.ts +0 -1
- package/dist/cjs/tests/unit/snapshot-capture-orchestration.test.js +0 -504
- package/dist/cjs/tests/unit/snapshot-capture-orchestration.test.js.map +0 -1
- package/dist/cjs/tests/unit/snapshot-cbor.test.d.ts +0 -1
- package/dist/cjs/tests/unit/snapshot-cbor.test.js +0 -204
- package/dist/cjs/tests/unit/snapshot-cbor.test.js.map +0 -1
- package/dist/cjs/tests/unit/snapshot-dom-session-builders.test.d.ts +0 -1
- package/dist/cjs/tests/unit/snapshot-dom-session-builders.test.js +0 -220
- package/dist/cjs/tests/unit/snapshot-dom-session-builders.test.js.map +0 -1
- package/dist/cjs/tests/unit/snapshot-dom-tree-utils.test.d.ts +0 -1
- package/dist/cjs/tests/unit/snapshot-dom-tree-utils.test.js +0 -107
- package/dist/cjs/tests/unit/snapshot-dom-tree-utils.test.js.map +0 -1
- package/dist/cjs/tests/unit/snapshot-focus-selectors-utils.test.d.ts +0 -1
- package/dist/cjs/tests/unit/snapshot-focus-selectors-utils.test.js +0 -89
- package/dist/cjs/tests/unit/snapshot-focus-selectors-utils.test.js.map +0 -1
- package/dist/cjs/tests/unit/snapshot-frame-merge.test.d.ts +0 -1
- package/dist/cjs/tests/unit/snapshot-frame-merge.test.js +0 -335
- package/dist/cjs/tests/unit/snapshot-frame-merge.test.js.map +0 -1
- package/dist/cjs/tests/unit/snapshot-tree-format-utils.test.d.ts +0 -1
- package/dist/cjs/tests/unit/snapshot-tree-format-utils.test.js +0 -127
- package/dist/cjs/tests/unit/snapshot-tree-format-utils.test.js.map +0 -1
- package/dist/cjs/tests/unit/snapshot-xpath-utils.test.d.ts +0 -1
- package/dist/cjs/tests/unit/snapshot-xpath-utils.test.js +0 -74
- package/dist/cjs/tests/unit/snapshot-xpath-utils.test.js.map +0 -1
- package/dist/cjs/tests/unit/timeout-handlers.test.d.ts +0 -1
- package/dist/cjs/tests/unit/timeout-handlers.test.js +0 -933
- package/dist/cjs/tests/unit/timeout-handlers.test.js.map +0 -1
- package/dist/cjs/tests/unit/understudy-command-exception.test.d.ts +0 -1
- package/dist/cjs/tests/unit/understudy-command-exception.test.js +0 -57
- package/dist/cjs/tests/unit/understudy-command-exception.test.js.map +0 -1
- package/dist/cjs/tests/unit/xpath-parser.test.d.ts +0 -1
- package/dist/cjs/tests/unit/xpath-parser.test.js +0 -311
- package/dist/cjs/tests/unit/xpath-parser.test.js.map +0 -1
- package/dist/cjs/tests/unit/xpath-resolver.test.d.ts +0 -1
- package/dist/cjs/tests/unit/xpath-resolver.test.js +0 -80
- package/dist/cjs/tests/unit/xpath-resolver.test.js.map +0 -1
- package/dist/cjs/tests/unit/zod-enum-compatibility.test.d.ts +0 -1
- package/dist/cjs/tests/unit/zod-enum-compatibility.test.js +0 -149
- package/dist/cjs/tests/unit/zod-enum-compatibility.test.js.map +0 -1
- package/dist/esm/tests/cache-variables.test.d.ts +0 -1
- package/dist/esm/tests/cache-variables.test.js +0 -219
- package/dist/esm/tests/cache-variables.test.js.map +0 -1
- package/dist/esm/tests/integration/agent-abort-signal.spec.d.ts +0 -1
- package/dist/esm/tests/integration/agent-abort-signal.spec.js +0 -121
- package/dist/esm/tests/integration/agent-abort-signal.spec.js.map +0 -1
- package/dist/esm/tests/integration/agent-cache-self-heal.spec.d.ts +0 -1
- package/dist/esm/tests/integration/agent-cache-self-heal.spec.js +0 -78
- package/dist/esm/tests/integration/agent-cache-self-heal.spec.js.map +0 -1
- package/dist/esm/tests/integration/agent-callbacks.spec.d.ts +0 -1
- package/dist/esm/tests/integration/agent-callbacks.spec.js +0 -383
- package/dist/esm/tests/integration/agent-callbacks.spec.js.map +0 -1
- package/dist/esm/tests/integration/agent-experimental-validation.spec.d.ts +0 -1
- package/dist/esm/tests/integration/agent-experimental-validation.spec.js +0 -360
- package/dist/esm/tests/integration/agent-experimental-validation.spec.js.map +0 -1
- package/dist/esm/tests/integration/agent-hybrid-mode.spec.d.ts +0 -1
- package/dist/esm/tests/integration/agent-hybrid-mode.spec.js +0 -260
- package/dist/esm/tests/integration/agent-hybrid-mode.spec.js.map +0 -1
- package/dist/esm/tests/integration/agent-message-continuation.spec.d.ts +0 -1
- package/dist/esm/tests/integration/agent-message-continuation.spec.js +0 -110
- package/dist/esm/tests/integration/agent-message-continuation.spec.js.map +0 -1
- package/dist/esm/tests/integration/agent-streaming.spec.d.ts +0 -1
- package/dist/esm/tests/integration/agent-streaming.spec.js +0 -138
- package/dist/esm/tests/integration/agent-streaming.spec.js.map +0 -1
- package/dist/esm/tests/integration/cdp-close-api-region.spec.d.ts +0 -1
- package/dist/esm/tests/integration/cdp-close-api-region.spec.js +0 -39
- package/dist/esm/tests/integration/cdp-close-api-region.spec.js.map +0 -1
- package/dist/esm/tests/integration/cdp-connection-close.spec.d.ts +0 -1
- package/dist/esm/tests/integration/cdp-connection-close.spec.js +0 -74
- package/dist/esm/tests/integration/cdp-connection-close.spec.js.map +0 -1
- package/dist/esm/tests/integration/cdp-session-detached.spec.d.ts +0 -1
- package/dist/esm/tests/integration/cdp-session-detached.spec.js +0 -43
- package/dist/esm/tests/integration/cdp-session-detached.spec.js.map +0 -1
- package/dist/esm/tests/integration/chrome-newtab-page-tracking.spec.d.ts +0 -1
- package/dist/esm/tests/integration/chrome-newtab-page-tracking.spec.js +0 -54
- package/dist/esm/tests/integration/chrome-newtab-page-tracking.spec.js.map +0 -1
- package/dist/esm/tests/integration/click-count.spec.d.ts +0 -1
- package/dist/esm/tests/integration/click-count.spec.js +0 -161
- package/dist/esm/tests/integration/click-count.spec.js.map +0 -1
- package/dist/esm/tests/integration/connect-to-existing-browser.spec.d.ts +0 -1
- package/dist/esm/tests/integration/connect-to-existing-browser.spec.js +0 -97
- package/dist/esm/tests/integration/connect-to-existing-browser.spec.js.map +0 -1
- package/dist/esm/tests/integration/context-addInitScript.spec.d.ts +0 -1
- package/dist/esm/tests/integration/context-addInitScript.spec.js +0 -283
- package/dist/esm/tests/integration/context-addInitScript.spec.js.map +0 -1
- package/dist/esm/tests/integration/context-extra-http-headers.spec.d.ts +0 -1
- package/dist/esm/tests/integration/context-extra-http-headers.spec.js +0 -47
- package/dist/esm/tests/integration/context-extra-http-headers.spec.js.map +0 -1
- package/dist/esm/tests/integration/cookies.spec.d.ts +0 -1
- package/dist/esm/tests/integration/cookies.spec.js +0 -185
- package/dist/esm/tests/integration/cookies.spec.js.map +0 -1
- package/dist/esm/tests/integration/default-page-tracking.spec.d.ts +0 -1
- package/dist/esm/tests/integration/default-page-tracking.spec.js +0 -50
- package/dist/esm/tests/integration/default-page-tracking.spec.js.map +0 -1
- package/dist/esm/tests/integration/downloads.spec.d.ts +0 -1
- package/dist/esm/tests/integration/downloads.spec.js +0 -47
- package/dist/esm/tests/integration/downloads.spec.js.map +0 -1
- package/dist/esm/tests/integration/flowLogger.spec.d.ts +0 -1
- package/dist/esm/tests/integration/flowLogger.spec.js +0 -716
- package/dist/esm/tests/integration/flowLogger.spec.js.map +0 -1
- package/dist/esm/tests/integration/frame-get-location-and-click.spec.d.ts +0 -1
- package/dist/esm/tests/integration/frame-get-location-and-click.spec.js +0 -55
- package/dist/esm/tests/integration/frame-get-location-and-click.spec.js.map +0 -1
- package/dist/esm/tests/integration/iframe-ctx-addInitScript-race.spec.d.ts +0 -1
- package/dist/esm/tests/integration/iframe-ctx-addInitScript-race.spec.js +0 -217
- package/dist/esm/tests/integration/iframe-ctx-addInitScript-race.spec.js.map +0 -1
- package/dist/esm/tests/integration/iframe-ctx-addInitScript.spec.d.ts +0 -1
- package/dist/esm/tests/integration/iframe-ctx-addInitScript.spec.js +0 -472
- package/dist/esm/tests/integration/iframe-ctx-addInitScript.spec.js.map +0 -1
- package/dist/esm/tests/integration/keep-alive.child.d.ts +0 -1
- package/dist/esm/tests/integration/keep-alive.child.js +0 -83
- package/dist/esm/tests/integration/keep-alive.child.js.map +0 -1
- package/dist/esm/tests/integration/keep-alive.spec.d.ts +0 -22
- package/dist/esm/tests/integration/keep-alive.spec.js +0 -482
- package/dist/esm/tests/integration/keep-alive.spec.js.map +0 -1
- package/dist/esm/tests/integration/keyboard.spec.d.ts +0 -1
- package/dist/esm/tests/integration/keyboard.spec.js +0 -257
- package/dist/esm/tests/integration/keyboard.spec.js.map +0 -1
- package/dist/esm/tests/integration/locator-backend-node-id.spec.d.ts +0 -1
- package/dist/esm/tests/integration/locator-backend-node-id.spec.js +0 -148
- package/dist/esm/tests/integration/locator-backend-node-id.spec.js.map +0 -1
- package/dist/esm/tests/integration/locator-content-methods.spec.d.ts +0 -1
- package/dist/esm/tests/integration/locator-content-methods.spec.js +0 -178
- package/dist/esm/tests/integration/locator-content-methods.spec.js.map +0 -1
- package/dist/esm/tests/integration/locator-count-iframe.spec.d.ts +0 -1
- package/dist/esm/tests/integration/locator-count-iframe.spec.js +0 -127
- package/dist/esm/tests/integration/locator-count-iframe.spec.js.map +0 -1
- package/dist/esm/tests/integration/locator-count.spec.d.ts +0 -1
- package/dist/esm/tests/integration/locator-count.spec.js +0 -66
- package/dist/esm/tests/integration/locator-count.spec.js.map +0 -1
- package/dist/esm/tests/integration/locator-fill.spec.d.ts +0 -1
- package/dist/esm/tests/integration/locator-fill.spec.js +0 -115
- package/dist/esm/tests/integration/locator-fill.spec.js.map +0 -1
- package/dist/esm/tests/integration/locator-input-methods.spec.d.ts +0 -1
- package/dist/esm/tests/integration/locator-input-methods.spec.js +0 -125
- package/dist/esm/tests/integration/locator-input-methods.spec.js.map +0 -1
- package/dist/esm/tests/integration/locator-nth.spec.d.ts +0 -1
- package/dist/esm/tests/integration/locator-nth.spec.js +0 -173
- package/dist/esm/tests/integration/locator-nth.spec.js.map +0 -1
- package/dist/esm/tests/integration/locator-select-option.spec.d.ts +0 -1
- package/dist/esm/tests/integration/locator-select-option.spec.js +0 -214
- package/dist/esm/tests/integration/locator-select-option.spec.js.map +0 -1
- package/dist/esm/tests/integration/logger-initialization.spec.d.ts +0 -1
- package/dist/esm/tests/integration/logger-initialization.spec.js +0 -595
- package/dist/esm/tests/integration/logger-initialization.spec.js.map +0 -1
- package/dist/esm/tests/integration/multi-instance-logger.spec.d.ts +0 -1
- package/dist/esm/tests/integration/multi-instance-logger.spec.js +0 -291
- package/dist/esm/tests/integration/multi-instance-logger.spec.js.map +0 -1
- package/dist/esm/tests/integration/nested-div.spec.d.ts +0 -1
- package/dist/esm/tests/integration/nested-div.spec.js +0 -20
- package/dist/esm/tests/integration/nested-div.spec.js.map +0 -1
- package/dist/esm/tests/integration/observe-element-id-format.spec.d.ts +0 -1
- package/dist/esm/tests/integration/observe-element-id-format.spec.js +0 -128
- package/dist/esm/tests/integration/observe-element-id-format.spec.js.map +0 -1
- package/dist/esm/tests/integration/page-addInitScript.spec.d.ts +0 -1
- package/dist/esm/tests/integration/page-addInitScript.spec.js +0 -92
- package/dist/esm/tests/integration/page-addInitScript.spec.js.map +0 -1
- package/dist/esm/tests/integration/page-console.spec.d.ts +0 -1
- package/dist/esm/tests/integration/page-console.spec.js +0 -45
- package/dist/esm/tests/integration/page-console.spec.js.map +0 -1
- package/dist/esm/tests/integration/page-drag-and-drop.spec.d.ts +0 -1
- package/dist/esm/tests/integration/page-drag-and-drop.spec.js +0 -435
- package/dist/esm/tests/integration/page-drag-and-drop.spec.js.map +0 -1
- package/dist/esm/tests/integration/page-extra-http-headers.spec.d.ts +0 -1
- package/dist/esm/tests/integration/page-extra-http-headers.spec.js +0 -83
- package/dist/esm/tests/integration/page-extra-http-headers.spec.js.map +0 -1
- package/dist/esm/tests/integration/page-goto-response.spec.d.ts +0 -1
- package/dist/esm/tests/integration/page-goto-response.spec.js +0 -32
- package/dist/esm/tests/integration/page-goto-response.spec.js.map +0 -1
- package/dist/esm/tests/integration/page-hover.spec.d.ts +0 -1
- package/dist/esm/tests/integration/page-hover.spec.js +0 -163
- package/dist/esm/tests/integration/page-hover.spec.js.map +0 -1
- package/dist/esm/tests/integration/page-screenshot.spec.d.ts +0 -1
- package/dist/esm/tests/integration/page-screenshot.spec.js +0 -257
- package/dist/esm/tests/integration/page-screenshot.spec.js.map +0 -1
- package/dist/esm/tests/integration/page-scroll.spec.d.ts +0 -1
- package/dist/esm/tests/integration/page-scroll.spec.js +0 -181
- package/dist/esm/tests/integration/page-scroll.spec.js.map +0 -1
- package/dist/esm/tests/integration/page-send-cdp.spec.d.ts +0 -1
- package/dist/esm/tests/integration/page-send-cdp.spec.js +0 -45
- package/dist/esm/tests/integration/page-send-cdp.spec.js.map +0 -1
- package/dist/esm/tests/integration/perform-understudy-method.spec.d.ts +0 -1
- package/dist/esm/tests/integration/perform-understudy-method.spec.js +0 -61
- package/dist/esm/tests/integration/perform-understudy-method.spec.js.map +0 -1
- package/dist/esm/tests/integration/setinputfiles.spec.d.ts +0 -1
- package/dist/esm/tests/integration/setinputfiles.spec.js +0 -128
- package/dist/esm/tests/integration/setinputfiles.spec.js.map +0 -1
- package/dist/esm/tests/integration/shadow-iframe-oopif.spec.d.ts +0 -1
- package/dist/esm/tests/integration/shadow-iframe-oopif.spec.js +0 -156
- package/dist/esm/tests/integration/shadow-iframe-oopif.spec.js.map +0 -1
- package/dist/esm/tests/integration/shadow-iframe-spif.spec.d.ts +0 -1
- package/dist/esm/tests/integration/shadow-iframe-spif.spec.js +0 -155
- package/dist/esm/tests/integration/shadow-iframe-spif.spec.js.map +0 -1
- package/dist/esm/tests/integration/testUtils.d.ts +0 -40
- package/dist/esm/tests/integration/testUtils.js +0 -178
- package/dist/esm/tests/integration/testUtils.js.map +0 -1
- package/dist/esm/tests/integration/text-selector-innermost.spec.d.ts +0 -1
- package/dist/esm/tests/integration/text-selector-innermost.spec.js +0 -103
- package/dist/esm/tests/integration/text-selector-innermost.spec.js.map +0 -1
- package/dist/esm/tests/integration/timeouts.spec.d.ts +0 -1
- package/dist/esm/tests/integration/timeouts.spec.js +0 -307
- package/dist/esm/tests/integration/timeouts.spec.js.map +0 -1
- package/dist/esm/tests/integration/user-data-dir.spec.d.ts +0 -1
- package/dist/esm/tests/integration/user-data-dir.spec.js +0 -42
- package/dist/esm/tests/integration/user-data-dir.spec.js.map +0 -1
- package/dist/esm/tests/integration/v3.config.d.ts +0 -4
- package/dist/esm/tests/integration/v3.config.js +0 -7
- package/dist/esm/tests/integration/v3.config.js.map +0 -1
- package/dist/esm/tests/integration/v3.dynamic.config.d.ts +0 -4
- package/dist/esm/tests/integration/v3.dynamic.config.js +0 -44
- package/dist/esm/tests/integration/v3.dynamic.config.js.map +0 -1
- package/dist/esm/tests/integration/v3.playwright.config.d.ts +0 -2
- package/dist/esm/tests/integration/v3.playwright.config.js +0 -46
- package/dist/esm/tests/integration/v3.playwright.config.js.map +0 -1
- package/dist/esm/tests/integration/wait-for-selector.spec.d.ts +0 -1
- package/dist/esm/tests/integration/wait-for-selector.spec.js +0 -681
- package/dist/esm/tests/integration/wait-for-selector.spec.js.map +0 -1
- package/dist/esm/tests/integration/wait-for-timeout.spec.d.ts +0 -1
- package/dist/esm/tests/integration/wait-for-timeout.spec.js +0 -116
- package/dist/esm/tests/integration/wait-for-timeout.spec.js.map +0 -1
- package/dist/esm/tests/integration/xpath-for-location-deep.spec.d.ts +0 -1
- package/dist/esm/tests/integration/xpath-for-location-deep.spec.js +0 -85
- package/dist/esm/tests/integration/xpath-for-location-deep.spec.js.map +0 -1
- package/dist/esm/tests/unit/agent-captcha-hooks.test.d.ts +0 -1
- package/dist/esm/tests/unit/agent-captcha-hooks.test.js +0 -339
- package/dist/esm/tests/unit/agent-captcha-hooks.test.js.map +0 -1
- package/dist/esm/tests/unit/agent-execution-model.test.d.ts +0 -1
- package/dist/esm/tests/unit/agent-execution-model.test.js +0 -148
- package/dist/esm/tests/unit/agent-execution-model.test.js.map +0 -1
- package/dist/esm/tests/unit/agent-metrics.test.d.ts +0 -1
- package/dist/esm/tests/unit/agent-metrics.test.js +0 -110
- package/dist/esm/tests/unit/agent-metrics.test.js.map +0 -1
- package/dist/esm/tests/unit/agent-mode-routing.test.d.ts +0 -1
- package/dist/esm/tests/unit/agent-mode-routing.test.js +0 -86
- package/dist/esm/tests/unit/agent-mode-routing.test.js.map +0 -1
- package/dist/esm/tests/unit/agent-system-prompt-variables.test.d.ts +0 -1
- package/dist/esm/tests/unit/agent-system-prompt-variables.test.js +0 -21
- package/dist/esm/tests/unit/agent-system-prompt-variables.test.js.map +0 -1
- package/dist/esm/tests/unit/agent-temperature.test.d.ts +0 -1
- package/dist/esm/tests/unit/agent-temperature.test.js +0 -189
- package/dist/esm/tests/unit/agent-temperature.test.js.map +0 -1
- package/dist/esm/tests/unit/agent-variables-validation.test.d.ts +0 -1
- package/dist/esm/tests/unit/agent-variables-validation.test.js +0 -41
- package/dist/esm/tests/unit/agent-variables-validation.test.js.map +0 -1
- package/dist/esm/tests/unit/aisdk-clients.test.d.ts +0 -1
- package/dist/esm/tests/unit/aisdk-clients.test.js +0 -84
- package/dist/esm/tests/unit/aisdk-clients.test.js.map +0 -1
- package/dist/esm/tests/unit/anthropic-cua-adaptive-thinking.test.d.ts +0 -1
- package/dist/esm/tests/unit/anthropic-cua-adaptive-thinking.test.js +0 -245
- package/dist/esm/tests/unit/anthropic-cua-adaptive-thinking.test.js.map +0 -1
- package/dist/esm/tests/unit/anthropic-cua-triple-click.test.d.ts +0 -1
- package/dist/esm/tests/unit/anthropic-cua-triple-click.test.js +0 -82
- package/dist/esm/tests/unit/anthropic-cua-triple-click.test.js.map +0 -1
- package/dist/esm/tests/unit/api-client-observe-variables.test.d.ts +0 -1
- package/dist/esm/tests/unit/api-client-observe-variables.test.js +0 -133
- package/dist/esm/tests/unit/api-client-observe-variables.test.js.map +0 -1
- package/dist/esm/tests/unit/api-multiregion.test.d.ts +0 -1
- package/dist/esm/tests/unit/api-multiregion.test.js +0 -56
- package/dist/esm/tests/unit/api-multiregion.test.js.map +0 -1
- package/dist/esm/tests/unit/api-optional-model-api-key.test.d.ts +0 -1
- package/dist/esm/tests/unit/api-optional-model-api-key.test.js +0 -153
- package/dist/esm/tests/unit/api-optional-model-api-key.test.js.map +0 -1
- package/dist/esm/tests/unit/api-variables-schema.test.d.ts +0 -1
- package/dist/esm/tests/unit/api-variables-schema.test.js +0 -67
- package/dist/esm/tests/unit/api-variables-schema.test.js.map +0 -1
- package/dist/esm/tests/unit/browserbase-session-accessors.test.d.ts +0 -1
- package/dist/esm/tests/unit/browserbase-session-accessors.test.js +0 -140
- package/dist/esm/tests/unit/browserbase-session-accessors.test.js.map +0 -1
- package/dist/esm/tests/unit/cache-llm-resolution.test.d.ts +0 -1
- package/dist/esm/tests/unit/cache-llm-resolution.test.js +0 -184
- package/dist/esm/tests/unit/cache-llm-resolution.test.js.map +0 -1
- package/dist/esm/tests/unit/captcha-solver.test.d.ts +0 -1
- package/dist/esm/tests/unit/captcha-solver.test.js +0 -152
- package/dist/esm/tests/unit/captcha-solver.test.js.map +0 -1
- package/dist/esm/tests/unit/cdp-connection-close.test.d.ts +0 -1
- package/dist/esm/tests/unit/cdp-connection-close.test.js +0 -72
- package/dist/esm/tests/unit/cdp-connection-close.test.js.map +0 -1
- package/dist/esm/tests/unit/context-extra-http-headers.test.d.ts +0 -1
- package/dist/esm/tests/unit/context-extra-http-headers.test.js +0 -56
- package/dist/esm/tests/unit/context-extra-http-headers.test.js.map +0 -1
- package/dist/esm/tests/unit/cookies.test.d.ts +0 -1
- package/dist/esm/tests/unit/cookies.test.js +0 -909
- package/dist/esm/tests/unit/cookies.test.js.map +0 -1
- package/dist/esm/tests/unit/flowlogger-capturing-cdp.test.d.ts +0 -1
- package/dist/esm/tests/unit/flowlogger-capturing-cdp.test.js +0 -93
- package/dist/esm/tests/unit/flowlogger-capturing-cdp.test.js.map +0 -1
- package/dist/esm/tests/unit/flowlogger-capturing-llm.test.d.ts +0 -1
- package/dist/esm/tests/unit/flowlogger-capturing-llm.test.js +0 -41
- package/dist/esm/tests/unit/flowlogger-capturing-llm.test.js.map +0 -1
- package/dist/esm/tests/unit/flowlogger-eventstore.test.d.ts +0 -1
- package/dist/esm/tests/unit/flowlogger-eventstore.test.js +0 -248
- package/dist/esm/tests/unit/flowlogger-eventstore.test.js.map +0 -1
- package/dist/esm/tests/unit/frame-registry-oopif-adoption.test.d.ts +0 -1
- package/dist/esm/tests/unit/frame-registry-oopif-adoption.test.js +0 -58
- package/dist/esm/tests/unit/frame-registry-oopif-adoption.test.js.map +0 -1
- package/dist/esm/tests/unit/helpers/mockCDPSession.d.ts +0 -19
- package/dist/esm/tests/unit/helpers/mockCDPSession.js +0 -25
- package/dist/esm/tests/unit/helpers/mockCDPSession.js.map +0 -1
- package/dist/esm/tests/unit/inference-temperature.test.d.ts +0 -1
- package/dist/esm/tests/unit/inference-temperature.test.js +0 -63
- package/dist/esm/tests/unit/inference-temperature.test.js.map +0 -1
- package/dist/esm/tests/unit/llm-middleware.test.d.ts +0 -1
- package/dist/esm/tests/unit/llm-middleware.test.js +0 -460
- package/dist/esm/tests/unit/llm-middleware.test.js.map +0 -1
- package/dist/esm/tests/unit/llm-provider.test.d.ts +0 -1
- package/dist/esm/tests/unit/llm-provider.test.js +0 -62
- package/dist/esm/tests/unit/llm-provider.test.js.map +0 -1
- package/dist/esm/tests/unit/microsoft-cua-client.test.d.ts +0 -1
- package/dist/esm/tests/unit/microsoft-cua-client.test.js +0 -84
- package/dist/esm/tests/unit/microsoft-cua-client.test.js.map +0 -1
- package/dist/esm/tests/unit/model-deprecation.test.d.ts +0 -1
- package/dist/esm/tests/unit/model-deprecation.test.js +0 -140
- package/dist/esm/tests/unit/model-deprecation.test.js.map +0 -1
- package/dist/esm/tests/unit/model-utils.test.d.ts +0 -1
- package/dist/esm/tests/unit/model-utils.test.js +0 -40
- package/dist/esm/tests/unit/model-utils.test.js.map +0 -1
- package/dist/esm/tests/unit/openai-compatible-temperature.test.d.ts +0 -1
- package/dist/esm/tests/unit/openai-compatible-temperature.test.js +0 -82
- package/dist/esm/tests/unit/openai-compatible-temperature.test.js.map +0 -1
- package/dist/esm/tests/unit/openai-cua-client.test.d.ts +0 -1
- package/dist/esm/tests/unit/openai-cua-client.test.js +0 -69
- package/dist/esm/tests/unit/openai-cua-client.test.js.map +0 -1
- package/dist/esm/tests/unit/page-extra-http-headers.test.d.ts +0 -1
- package/dist/esm/tests/unit/page-extra-http-headers.test.js +0 -90
- package/dist/esm/tests/unit/page-extra-http-headers.test.js.map +0 -1
- package/dist/esm/tests/unit/page-snapshot.test.d.ts +0 -1
- package/dist/esm/tests/unit/page-snapshot.test.js +0 -40
- package/dist/esm/tests/unit/page-snapshot.test.js.map +0 -1
- package/dist/esm/tests/unit/prompt-observe-variables.test.d.ts +0 -1
- package/dist/esm/tests/unit/prompt-observe-variables.test.js +0 -23
- package/dist/esm/tests/unit/prompt-observe-variables.test.js.map +0 -1
- package/dist/esm/tests/unit/public-api/export-surface.test.d.ts +0 -1
- package/dist/esm/tests/unit/public-api/export-surface.test.js +0 -72
- package/dist/esm/tests/unit/public-api/export-surface.test.js.map +0 -1
- package/dist/esm/tests/unit/public-api/llm-and-agents.test.d.ts +0 -1
- package/dist/esm/tests/unit/public-api/llm-and-agents.test.js +0 -144
- package/dist/esm/tests/unit/public-api/llm-and-agents.test.js.map +0 -1
- package/dist/esm/tests/unit/public-api/public-error-types.test.d.ts +0 -62
- package/dist/esm/tests/unit/public-api/public-error-types.test.js +0 -74
- package/dist/esm/tests/unit/public-api/public-error-types.test.js.map +0 -1
- package/dist/esm/tests/unit/public-api/public-types.test.d.ts +0 -1
- package/dist/esm/tests/unit/public-api/public-types.test.js +0 -97
- package/dist/esm/tests/unit/public-api/public-types.test.js.map +0 -1
- package/dist/esm/tests/unit/public-api/runtime-utils.test.d.ts +0 -1
- package/dist/esm/tests/unit/public-api/runtime-utils.test.js +0 -25
- package/dist/esm/tests/unit/public-api/runtime-utils.test.js.map +0 -1
- package/dist/esm/tests/unit/public-api/schema-utils.test.d.ts +0 -1
- package/dist/esm/tests/unit/public-api/schema-utils.test.js +0 -60
- package/dist/esm/tests/unit/public-api/schema-utils.test.js.map +0 -1
- package/dist/esm/tests/unit/public-api/timeout-error-types.test.d.ts +0 -1
- package/dist/esm/tests/unit/public-api/timeout-error-types.test.js +0 -86
- package/dist/esm/tests/unit/public-api/timeout-error-types.test.js.map +0 -1
- package/dist/esm/tests/unit/public-api/tool-type-export.test.d.ts +0 -1
- package/dist/esm/tests/unit/public-api/tool-type-export.test.js +0 -30
- package/dist/esm/tests/unit/public-api/tool-type-export.test.js.map +0 -1
- package/dist/esm/tests/unit/public-api/v3-core.test.d.ts +0 -1
- package/dist/esm/tests/unit/public-api/v3-core.test.js +0 -73
- package/dist/esm/tests/unit/public-api/v3-core.test.js.map +0 -1
- package/dist/esm/tests/unit/safety-confirmation.test.d.ts +0 -1
- package/dist/esm/tests/unit/safety-confirmation.test.js +0 -108
- package/dist/esm/tests/unit/safety-confirmation.test.js.map +0 -1
- package/dist/esm/tests/unit/snapshot-a11y-resolvers.test.d.ts +0 -1
- package/dist/esm/tests/unit/snapshot-a11y-resolvers.test.js +0 -396
- package/dist/esm/tests/unit/snapshot-a11y-resolvers.test.js.map +0 -1
- package/dist/esm/tests/unit/snapshot-a11y-tree-utils.test.d.ts +0 -1
- package/dist/esm/tests/unit/snapshot-a11y-tree-utils.test.js +0 -337
- package/dist/esm/tests/unit/snapshot-a11y-tree-utils.test.js.map +0 -1
- package/dist/esm/tests/unit/snapshot-capture-orchestration.test.d.ts +0 -1
- package/dist/esm/tests/unit/snapshot-capture-orchestration.test.js +0 -469
- package/dist/esm/tests/unit/snapshot-capture-orchestration.test.js.map +0 -1
- package/dist/esm/tests/unit/snapshot-cbor.test.d.ts +0 -1
- package/dist/esm/tests/unit/snapshot-cbor.test.js +0 -202
- package/dist/esm/tests/unit/snapshot-cbor.test.js.map +0 -1
- package/dist/esm/tests/unit/snapshot-dom-session-builders.test.d.ts +0 -1
- package/dist/esm/tests/unit/snapshot-dom-session-builders.test.js +0 -218
- package/dist/esm/tests/unit/snapshot-dom-session-builders.test.js.map +0 -1
- package/dist/esm/tests/unit/snapshot-dom-tree-utils.test.d.ts +0 -1
- package/dist/esm/tests/unit/snapshot-dom-tree-utils.test.js +0 -105
- package/dist/esm/tests/unit/snapshot-dom-tree-utils.test.js.map +0 -1
- package/dist/esm/tests/unit/snapshot-focus-selectors-utils.test.d.ts +0 -1
- package/dist/esm/tests/unit/snapshot-focus-selectors-utils.test.js +0 -87
- package/dist/esm/tests/unit/snapshot-focus-selectors-utils.test.js.map +0 -1
- package/dist/esm/tests/unit/snapshot-frame-merge.test.d.ts +0 -1
- package/dist/esm/tests/unit/snapshot-frame-merge.test.js +0 -333
- package/dist/esm/tests/unit/snapshot-frame-merge.test.js.map +0 -1
- package/dist/esm/tests/unit/snapshot-tree-format-utils.test.d.ts +0 -1
- package/dist/esm/tests/unit/snapshot-tree-format-utils.test.js +0 -125
- package/dist/esm/tests/unit/snapshot-tree-format-utils.test.js.map +0 -1
- package/dist/esm/tests/unit/snapshot-xpath-utils.test.d.ts +0 -1
- package/dist/esm/tests/unit/snapshot-xpath-utils.test.js +0 -72
- package/dist/esm/tests/unit/snapshot-xpath-utils.test.js.map +0 -1
- package/dist/esm/tests/unit/timeout-handlers.test.d.ts +0 -1
- package/dist/esm/tests/unit/timeout-handlers.test.js +0 -898
- package/dist/esm/tests/unit/timeout-handlers.test.js.map +0 -1
- package/dist/esm/tests/unit/understudy-command-exception.test.d.ts +0 -1
- package/dist/esm/tests/unit/understudy-command-exception.test.js +0 -55
- package/dist/esm/tests/unit/understudy-command-exception.test.js.map +0 -1
- package/dist/esm/tests/unit/xpath-parser.test.d.ts +0 -1
- package/dist/esm/tests/unit/xpath-parser.test.js +0 -309
- package/dist/esm/tests/unit/xpath-parser.test.js.map +0 -1
- package/dist/esm/tests/unit/xpath-resolver.test.d.ts +0 -1
- package/dist/esm/tests/unit/xpath-resolver.test.js +0 -78
- package/dist/esm/tests/unit/xpath-resolver.test.js.map +0 -1
- package/dist/esm/tests/unit/zod-enum-compatibility.test.d.ts +0 -1
- package/dist/esm/tests/unit/zod-enum-compatibility.test.js +0 -114
- package/dist/esm/tests/unit/zod-enum-compatibility.test.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"page-drag-and-drop.spec.js","sourceRoot":"","sources":["../../../../tests/integration/page-drag-and-drop.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(\"Page.dragAndDrop() - dragging elements\", () => {\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(\"drags and drops element to target zone\", async () => {\n const page = v3.context.pages()[0];\n\n await page.goto(\n \"data:text/html,\" +\n encodeURIComponent(`\n <!doctype html>\n <html>\n <head>\n <style>\n body { font-family: Arial; margin: 0; padding: 20px; }\n .container { display: flex; gap: 20px; }\n .source-box {\n width: 150px;\n height: 100px;\n background: lightblue;\n border: 2px solid blue;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: move;\n user-select: none;\n }\n .drop-zone {\n width: 200px;\n height: 150px;\n background: lightyellow;\n border: 2px dashed orange;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n .result { margin-top: 20px; font-weight: bold; }\n </style>\n </head>\n <body>\n <div class=\"container\">\n <div id=\"source\" class=\"source-box\" draggable=\"true\">Drag Me</div>\n <div id=\"dropZone\" class=\"drop-zone\">Drop Here</div>\n </div>\n <div id=\"result\" class=\"result\">Status: Waiting</div>\n <script>\n const source = document.getElementById('source');\n const dropZone = document.getElementById('dropZone');\n const result = document.getElementById('result');\n \n source.addEventListener('dragstart', (e) => {\n e.dataTransfer.effectAllowed = 'move';\n e.dataTransfer.setData('text/plain', 'Dragged Element');\n });\n \n dropZone.addEventListener('dragover', (e) => {\n e.preventDefault();\n e.dataTransfer.dropEffect = 'move';\n dropZone.style.background = 'lightgreen';\n });\n \n dropZone.addEventListener('dragleave', () => {\n dropZone.style.background = 'lightyellow';\n });\n \n dropZone.addEventListener('drop', (e) => {\n e.preventDefault();\n result.textContent = 'Status: DROP SUCCESSFUL';\n result.style.color = 'green';\n dropZone.style.background = 'lightgreen';\n });\n </script>\n </body>\n </html>\n `),\n );\n\n // Get coordinates for drag and drop\n const sourceLocation = await page\n .frames()[0]\n .getLocationForSelector(\"#source\");\n const dropZoneLocation = await page\n .frames()[0]\n .getLocationForSelector(\"#dropZone\");\n\n const fromX = sourceLocation.x + sourceLocation.width / 2;\n const fromY = sourceLocation.y + sourceLocation.height / 2;\n const toX = dropZoneLocation.x + dropZoneLocation.width / 2;\n const toY = dropZoneLocation.y + dropZoneLocation.height / 2;\n\n // Perform drag and drop\n await page.dragAndDrop(fromX, fromY, toX, toY);\n\n // Wait for events to be processed\n await page.evaluate(() => new Promise((r) => setTimeout(r, 100)));\n\n // Verify visual result\n const resultText = await page.evaluate(\n () => document.getElementById(\"result\").textContent,\n );\n expect(resultText).toContain(\"DROP SUCCESSFUL\");\n });\n\n test(\"drag and drop with steps parameter\", async () => {\n const page = v3.context.pages()[0];\n\n await page.goto(\n \"data:text/html,\" +\n encodeURIComponent(`\n <!doctype html>\n <html>\n <head>\n <style>\n body { margin: 0; padding: 20px; }\n .box {\n width: 100px;\n height: 100px;\n background: lightblue;\n margin: 20px;\n cursor: move;\n }\n .target {\n width: 200px;\n height: 200px;\n background: lightyellow;\n margin: 20px;\n border: 2px dashed orange;\n }\n </style>\n </head>\n <body>\n <div id=\"box\" class=\"box\" draggable=\"true\"></div>\n <div id=\"target\" class=\"target\"></div>\n <div id=\"status\">Not dropped</div>\n <script>\n document.getElementById('box').addEventListener('dragstart', (e) => {\n e.dataTransfer.effectAllowed = 'move';\n });\n document.getElementById('target').addEventListener('drop', (e) => {\n e.preventDefault();\n document.getElementById('status').textContent = 'Dropped with steps';\n });\n document.getElementById('target').addEventListener('dragover', (e) => {\n e.preventDefault();\n });\n </script>\n </body>\n </html>\n `),\n );\n\n const boxLocation = await page.frames()[0].getLocationForSelector(\"#box\");\n const targetLocation = await page\n .frames()[0]\n .getLocationForSelector(\"#target\");\n\n const fromX = boxLocation.x + boxLocation.width / 2;\n const fromY = boxLocation.y + boxLocation.height / 2;\n const toX = targetLocation.x + targetLocation.width / 2;\n const toY = targetLocation.y + targetLocation.height / 2;\n\n // Drag with multiple steps for smoother motion\n await page.dragAndDrop(fromX, fromY, toX, toY, { steps: 5 });\n\n // Wait for events to be processed\n await page.evaluate(() => new Promise((r) => setTimeout(r, 100)));\n\n const status = await page.evaluate(\n () => document.getElementById(\"status\").textContent,\n );\n expect(status).toContain(\"Dropped\");\n });\n\n test(\"drag and drop with delay between steps\", async () => {\n const page = v3.context.pages()[0];\n\n await page.goto(\n \"data:text/html,\" +\n encodeURIComponent(`\n <!doctype html>\n <html>\n <head>\n <style>\n body { margin: 0; padding: 20px; }\n #dragItem { width: 80px; height: 80px; background: lightcoral; cursor: move; }\n #dropArea { width: 150px; height: 150px; background: lightgray; margin-top: 20px; }\n </style>\n </head>\n <body>\n <div id=\"dragItem\" draggable=\"true\"></div>\n <div id=\"dropArea\"></div>\n <div id=\"complete\">false</div>\n <script>\n const item = document.getElementById('dragItem');\n const area = document.getElementById('dropArea');\n const complete = document.getElementById('complete');\n \n item.addEventListener('dragstart', (e) => {\n e.dataTransfer.effectAllowed = 'move';\n });\n \n area.addEventListener('drop', (e) => {\n e.preventDefault();\n complete.textContent = 'true';\n });\n \n area.addEventListener('dragover', (e) => {\n e.preventDefault();\n });\n </script>\n </body>\n </html>\n `),\n );\n\n const itemLocation = await page\n .frames()[0]\n .getLocationForSelector(\"#dragItem\");\n const areaLocation = await page\n .frames()[0]\n .getLocationForSelector(\"#dropArea\");\n\n const fromX = itemLocation.x + itemLocation.width / 2;\n const fromY = itemLocation.y + itemLocation.height / 2;\n const toX = areaLocation.x + areaLocation.width / 2;\n const toY = areaLocation.y + areaLocation.height / 2;\n\n // Drag with delay between steps\n await page.dragAndDrop(fromX, fromY, toX, toY, { steps: 3, delay: 50 });\n\n // Wait for events to be processed\n await page.evaluate(() => new Promise((r) => setTimeout(r, 100)));\n\n const isComplete = await page.evaluate(\n () => document.getElementById(\"complete\").textContent === \"true\",\n );\n expect(isComplete).toBe(true);\n });\n\n test(\"drag and drop returns xpath when requested\", async () => {\n const page = v3.context.pages()[0];\n\n await page.goto(\n \"data:text/html,\" +\n encodeURIComponent(`\n <!doctype html>\n <html>\n <head>\n <style>\n body { margin: 20px; }\n #source { width: 100px; height: 100px; background: blue; cursor: move; }\n #target { width: 150px; height: 150px; background: green; margin-top: 20px; }\n </style>\n </head>\n <body>\n <div id=\"source\" draggable=\"true\"></div>\n <div id=\"target\"></div>\n <script>\n document.getElementById('source').addEventListener('dragstart', (e) => {\n e.dataTransfer.effectAllowed = 'move';\n });\n document.getElementById('target').addEventListener('drop', (e) => {\n e.preventDefault();\n });\n document.getElementById('target').addEventListener('dragover', (e) => {\n e.preventDefault();\n });\n </script>\n </body>\n </html>\n `),\n );\n\n const sourceLocation = await page\n .frames()[0]\n .getLocationForSelector(\"#source\");\n const targetLocation = await page\n .frames()[0]\n .getLocationForSelector(\"#target\");\n\n const fromX = sourceLocation.x + sourceLocation.width / 2;\n const fromY = sourceLocation.y + sourceLocation.height / 2;\n const toX = targetLocation.x + targetLocation.width / 2;\n const toY = targetLocation.y + targetLocation.height / 2;\n\n const [fromXpath, toXpath] = await page.dragAndDrop(\n fromX,\n fromY,\n toX,\n toY,\n {\n returnXpath: true,\n },\n );\n\n // Should return xpaths for both start and end positions\n expect(typeof fromXpath).toBe(\"string\");\n expect(typeof toXpath).toBe(\"string\");\n expect(fromXpath.length).toBeGreaterThan(0);\n expect(toXpath.length).toBeGreaterThan(0);\n });\n\n test(\"drag and drop without returnXpath returns empty strings\", async () => {\n const page = v3.context.pages()[0];\n\n await page.goto(\n \"data:text/html,\" +\n encodeURIComponent(`\n <!doctype html>\n <html>\n <head>\n <style>\n body { margin: 20px; }\n #item1 { width: 80px; height: 80px; background: red; cursor: move; }\n #item2 { width: 100px; height: 100px; background: yellow; margin-top: 20px; }\n </style>\n </head>\n <body>\n <div id=\"item1\" draggable=\"true\"></div>\n <div id=\"item2\"></div>\n <script>\n document.getElementById('item1').addEventListener('dragstart', (e) => {\n e.dataTransfer.effectAllowed = 'move';\n });\n document.getElementById('item2').addEventListener('drop', (e) => {\n e.preventDefault();\n });\n document.getElementById('item2').addEventListener('dragover', (e) => {\n e.preventDefault();\n });\n </script>\n </body>\n </html>\n `),\n );\n\n const item1Location = await page\n .frames()[0]\n .getLocationForSelector(\"#item1\");\n const item2Location = await page\n .frames()[0]\n .getLocationForSelector(\"#item2\");\n\n const fromX = item1Location.x + item1Location.width / 2;\n const fromY = item1Location.y + item1Location.height / 2;\n const toX = item2Location.x + item2Location.width / 2;\n const toY = item2Location.y + item2Location.height / 2;\n\n const [fromXpath, toXpath] = await page.dragAndDrop(fromX, fromY, toX, toY);\n\n // Should return empty strings when returnXpath is not set\n expect(fromXpath).toBe(\"\");\n expect(toXpath).toBe(\"\");\n });\n\n test(\"drag and drop with different mouse buttons\", async () => {\n const page = v3.context.pages()[0];\n\n await page.goto(\n \"data:text/html,\" +\n encodeURIComponent(`\n <!doctype html>\n <html>\n <head>\n <style>\n body { margin: 20px; }\n .draggable { width: 100px; height: 100px; background: lightblue; cursor: move; }\n .drop-area { width: 200px; height: 200px; background: lightgray; margin-top: 20px; }\n </style>\n </head>\n <body>\n <div id=\"source\" class=\"draggable\" draggable=\"true\"></div>\n <div id=\"target\" class=\"drop-area\"></div>\n <div id=\"buttonUsed\">none</div>\n <script>\n document.getElementById('source').addEventListener('dragstart', (e) => {\n e.dataTransfer.effectAllowed = 'move';\n });\n document.getElementById('target').addEventListener('drop', (e) => {\n e.preventDefault();\n document.getElementById('buttonUsed').textContent = 'left';\n });\n document.getElementById('target').addEventListener('dragover', (e) => {\n e.preventDefault();\n });\n </script>\n </body>\n </html>\n `),\n );\n\n const sourceLocation = await page\n .frames()[0]\n .getLocationForSelector(\"#source\");\n const targetLocation = await page\n .frames()[0]\n .getLocationForSelector(\"#target\");\n\n const fromX = sourceLocation.x + sourceLocation.width / 2;\n const fromY = sourceLocation.y + sourceLocation.height / 2;\n const toX = targetLocation.x + targetLocation.width / 2;\n const toY = targetLocation.y + targetLocation.height / 2;\n\n // Test with left button (default)\n await page.dragAndDrop(fromX, fromY, toX, toY, { button: \"left\" });\n\n // Wait for events to be processed\n await page.evaluate(() => new Promise((r) => setTimeout(r, 100)));\n\n const buttonUsed = await page.evaluate(\n () => document.getElementById(\"buttonUsed\").textContent,\n );\n expect(buttonUsed).toBe(\"left\");\n });\n\n test(\"multiple sequential drag and drops\", async () => {\n const page = v3.context.pages()[0];\n\n await page.goto(\n \"data:text/html,\" +\n encodeURIComponent(`\n <!doctype html>\n <html>\n <head>\n <style>\n body { margin: 20px; font-family: Arial; }\n .item { width: 80px; height: 80px; background: lightblue; margin: 10px; cursor: move; display: inline-block; }\n .zone { width: 150px; height: 150px; background: lightyellow; margin: 10px; display: inline-block; border: 2px dashed orange; }\n #log { margin-top: 20px; }\n </style>\n </head>\n <body>\n <div id=\"item1\" class=\"item\" draggable=\"true\">Item 1</div>\n <div id=\"zone1\" class=\"zone\"></div>\n <div id=\"item2\" class=\"item\" draggable=\"true\">Item 2</div>\n <div id=\"zone2\" class=\"zone\"></div>\n <div id=\"log\">Drops: 0</div>\n <script>\n let dropCount = 0;\n const items = ['item1', 'item2'];\n const zones = ['zone1', 'zone2'];\n \n items.forEach(id => {\n document.getElementById(id).addEventListener('dragstart', (e) => {\n e.dataTransfer.effectAllowed = 'move';\n });\n });\n \n zones.forEach(id => {\n const zone = document.getElementById(id);\n zone.addEventListener('drop', (e) => {\n e.preventDefault();\n dropCount++;\n document.getElementById('log').textContent = 'Drops: ' + dropCount;\n });\n zone.addEventListener('dragover', (e) => {\n e.preventDefault();\n });\n });\n </script>\n </body>\n </html>\n `),\n );\n\n const item1Location = await page\n .frames()[0]\n .getLocationForSelector(\"#item1\");\n const zone1Location = await page\n .frames()[0]\n .getLocationForSelector(\"#zone1\");\n\n const from1X = item1Location.x + item1Location.width / 2;\n const from1Y = item1Location.y + item1Location.height / 2;\n const to1X = zone1Location.x + zone1Location.width / 2;\n const to1Y = zone1Location.y + zone1Location.height / 2;\n\n await page.dragAndDrop(from1X, from1Y, to1X, to1Y);\n\n await page.evaluate(() => new Promise((r) => setTimeout(r, 100)));\n\n let dropCountText = await page.evaluate(\n () => document.getElementById(\"log\").textContent,\n );\n expect(dropCountText).toContain(\"Drops: 1\");\n\n const item2Location = await page\n .frames()[0]\n .getLocationForSelector(\"#item2\");\n const zone2Location = await page\n .frames()[0]\n .getLocationForSelector(\"#zone2\");\n\n const from2X = item2Location.x + item2Location.width / 2;\n const from2Y = item2Location.y + item2Location.height / 2;\n const to2X = zone2Location.x + zone2Location.width / 2;\n const to2Y = zone2Location.y + zone2Location.height / 2;\n\n await page.dragAndDrop(from2X, from2Y, to2X, to2Y);\n\n // Wait for events to be processed\n await page.evaluate(() => new Promise((r) => setTimeout(r, 100)));\n\n dropCountText = await page.evaluate(\n () => document.getElementById(\"log\").textContent,\n );\n expect(dropCountText).toContain(\"Drops: 2\");\n });\n});\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { test, expect } from "@playwright/test";
|
|
2
|
-
import { V3 } from "../../lib/v3/v3.js";
|
|
3
|
-
import { v3TestConfig } from "./v3.config.js";
|
|
4
|
-
import { closeV3 } from "./testUtils.js";
|
|
5
|
-
const TEST_URL = "https://browserbase.github.io/stagehand-eval-sites/sites/example/";
|
|
6
|
-
test.describe("page.setExtraHTTPHeaders", () => {
|
|
7
|
-
let v3;
|
|
8
|
-
test.beforeEach(async () => {
|
|
9
|
-
v3 = new V3(v3TestConfig);
|
|
10
|
-
await v3.init();
|
|
11
|
-
});
|
|
12
|
-
test.afterEach(async () => {
|
|
13
|
-
await closeV3(v3);
|
|
14
|
-
});
|
|
15
|
-
test("applies headers to navigation requests", async () => {
|
|
16
|
-
const ctx = v3.context;
|
|
17
|
-
const page = await ctx.awaitActivePage();
|
|
18
|
-
await page.setExtraHTTPHeaders({ "x-page-header": "from-page" });
|
|
19
|
-
const internal = page;
|
|
20
|
-
await internal.mainSession.send("Network.enable");
|
|
21
|
-
const requestPromise = new Promise((resolve, reject) => {
|
|
22
|
-
const timeout = setTimeout(() => {
|
|
23
|
-
internal.mainSession.off("Network.requestWillBeSent", handler);
|
|
24
|
-
reject(new Error("Timed out waiting for request"));
|
|
25
|
-
}, 5000);
|
|
26
|
-
const handler = (evt) => {
|
|
27
|
-
if (evt.type !== "Document")
|
|
28
|
-
return;
|
|
29
|
-
const url = String(evt.request?.url ?? "");
|
|
30
|
-
if (!url.startsWith(TEST_URL))
|
|
31
|
-
return;
|
|
32
|
-
clearTimeout(timeout);
|
|
33
|
-
internal.mainSession.off("Network.requestWillBeSent", handler);
|
|
34
|
-
resolve(evt);
|
|
35
|
-
};
|
|
36
|
-
internal.mainSession.on("Network.requestWillBeSent", handler);
|
|
37
|
-
});
|
|
38
|
-
await page.goto(TEST_URL, { waitUntil: "domcontentloaded" });
|
|
39
|
-
const request = await requestPromise;
|
|
40
|
-
const headers = Object.fromEntries(Object.entries(request.request.headers ?? {}).map(([key, value]) => [
|
|
41
|
-
key.toLowerCase(),
|
|
42
|
-
String(value),
|
|
43
|
-
]));
|
|
44
|
-
expect(headers["x-page-header"]).toBe("from-page");
|
|
45
|
-
});
|
|
46
|
-
test("updated headers replace previous ones", async () => {
|
|
47
|
-
const ctx = v3.context;
|
|
48
|
-
const page = await ctx.awaitActivePage();
|
|
49
|
-
const internal = page;
|
|
50
|
-
await internal.mainSession.send("Network.enable");
|
|
51
|
-
// Set initial headers and navigate
|
|
52
|
-
await page.setExtraHTTPHeaders({ "x-first": "yes" });
|
|
53
|
-
await page.goto(TEST_URL, { waitUntil: "domcontentloaded" });
|
|
54
|
-
// Update headers
|
|
55
|
-
await page.setExtraHTTPHeaders({ "x-second": "yes" });
|
|
56
|
-
const requestPromise = new Promise((resolve, reject) => {
|
|
57
|
-
const timeout = setTimeout(() => {
|
|
58
|
-
internal.mainSession.off("Network.requestWillBeSent", handler);
|
|
59
|
-
reject(new Error("Timed out waiting for request"));
|
|
60
|
-
}, 5000);
|
|
61
|
-
const handler = (evt) => {
|
|
62
|
-
if (evt.type !== "Document")
|
|
63
|
-
return;
|
|
64
|
-
const url = String(evt.request?.url ?? "");
|
|
65
|
-
if (!url.startsWith(TEST_URL))
|
|
66
|
-
return;
|
|
67
|
-
clearTimeout(timeout);
|
|
68
|
-
internal.mainSession.off("Network.requestWillBeSent", handler);
|
|
69
|
-
resolve(evt);
|
|
70
|
-
};
|
|
71
|
-
internal.mainSession.on("Network.requestWillBeSent", handler);
|
|
72
|
-
});
|
|
73
|
-
await page.goto(TEST_URL, { waitUntil: "domcontentloaded" });
|
|
74
|
-
const request = await requestPromise;
|
|
75
|
-
const headers = Object.fromEntries(Object.entries(request.request.headers ?? {}).map(([key, value]) => [
|
|
76
|
-
key.toLowerCase(),
|
|
77
|
-
String(value),
|
|
78
|
-
]));
|
|
79
|
-
expect(headers["x-second"]).toBe("yes");
|
|
80
|
-
expect(headers["x-first"]).toBeUndefined();
|
|
81
|
-
});
|
|
82
|
-
});
|
|
83
|
-
//# sourceMappingURL=page-extra-http-headers.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"page-extra-http-headers.spec.js","sourceRoot":"","sources":["../../../../tests/integration/page-extra-http-headers.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { test, expect } from \"@playwright/test\";\nimport type { Protocol } from \"devtools-protocol\";\nimport { V3 } from \"../../lib/v3/v3.js\";\nimport { v3TestConfig } from \"./v3.config.js\";\nimport { closeV3 } from \"./testUtils.js\";\n\nconst TEST_URL =\n \"https://browserbase.github.io/stagehand-eval-sites/sites/example/\";\n\ntest.describe(\"page.setExtraHTTPHeaders\", () => {\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 closeV3(v3);\n });\n\n test(\"applies headers to navigation requests\", async () => {\n const ctx = v3.context;\n const page = await ctx.awaitActivePage();\n\n await page.setExtraHTTPHeaders({ \"x-page-header\": \"from-page\" });\n\n const internal = page as unknown as {\n mainSession: {\n send: (method: string, params?: unknown) => Promise<unknown>;\n on: (event: string, handler: (params: unknown) => void) => void;\n off: (event: string, handler: (params: unknown) => void) => void;\n };\n };\n\n await internal.mainSession.send(\"Network.enable\");\n\n const requestPromise = new Promise<Protocol.Network.RequestWillBeSentEvent>(\n (resolve, reject) => {\n const timeout = setTimeout(() => {\n internal.mainSession.off(\"Network.requestWillBeSent\", handler);\n reject(new Error(\"Timed out waiting for request\"));\n }, 5000);\n\n const handler = (evt: Protocol.Network.RequestWillBeSentEvent) => {\n if (evt.type !== \"Document\") return;\n const url = String(evt.request?.url ?? \"\");\n if (!url.startsWith(TEST_URL)) return;\n clearTimeout(timeout);\n internal.mainSession.off(\"Network.requestWillBeSent\", handler);\n resolve(evt);\n };\n\n internal.mainSession.on(\"Network.requestWillBeSent\", handler);\n },\n );\n\n await page.goto(TEST_URL, { waitUntil: \"domcontentloaded\" });\n\n const request = await requestPromise;\n const headers = Object.fromEntries(\n Object.entries(request.request.headers ?? {}).map(([key, value]) => [\n key.toLowerCase(),\n String(value),\n ]),\n );\n\n expect(headers[\"x-page-header\"]).toBe(\"from-page\");\n });\n\n test(\"updated headers replace previous ones\", async () => {\n const ctx = v3.context;\n const page = await ctx.awaitActivePage();\n\n const internal = page as unknown as {\n mainSession: {\n send: (method: string, params?: unknown) => Promise<unknown>;\n on: (event: string, handler: (params: unknown) => void) => void;\n off: (event: string, handler: (params: unknown) => void) => void;\n };\n };\n\n await internal.mainSession.send(\"Network.enable\");\n\n // Set initial headers and navigate\n await page.setExtraHTTPHeaders({ \"x-first\": \"yes\" });\n await page.goto(TEST_URL, { waitUntil: \"domcontentloaded\" });\n\n // Update headers\n await page.setExtraHTTPHeaders({ \"x-second\": \"yes\" });\n\n const requestPromise = new Promise<Protocol.Network.RequestWillBeSentEvent>(\n (resolve, reject) => {\n const timeout = setTimeout(() => {\n internal.mainSession.off(\"Network.requestWillBeSent\", handler);\n reject(new Error(\"Timed out waiting for request\"));\n }, 5000);\n\n const handler = (evt: Protocol.Network.RequestWillBeSentEvent) => {\n if (evt.type !== \"Document\") return;\n const url = String(evt.request?.url ?? \"\");\n if (!url.startsWith(TEST_URL)) return;\n clearTimeout(timeout);\n internal.mainSession.off(\"Network.requestWillBeSent\", handler);\n resolve(evt);\n };\n\n internal.mainSession.on(\"Network.requestWillBeSent\", handler);\n },\n );\n\n await page.goto(TEST_URL, { waitUntil: \"domcontentloaded\" });\n\n const request = await requestPromise;\n const headers = Object.fromEntries(\n Object.entries(request.request.headers ?? {}).map(([key, value]) => [\n key.toLowerCase(),\n String(value),\n ]),\n );\n\n expect(headers[\"x-second\"]).toBe(\"yes\");\n expect(headers[\"x-first\"]).toBeUndefined();\n });\n});\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { test, expect } from "@playwright/test";
|
|
2
|
-
import { V3 } from "../../lib/v3/v3.js";
|
|
3
|
-
import { v3TestConfig } from "./v3.config.js";
|
|
4
|
-
test.describe("Page.goto() response surface", () => {
|
|
5
|
-
let v3;
|
|
6
|
-
test.beforeEach(async () => {
|
|
7
|
-
v3 = new V3(v3TestConfig);
|
|
8
|
-
await v3.init();
|
|
9
|
-
});
|
|
10
|
-
test.afterEach(async () => {
|
|
11
|
-
await v3?.close?.().catch(() => { });
|
|
12
|
-
});
|
|
13
|
-
test("returns a response object for network navigations", async () => {
|
|
14
|
-
const page = v3.context.pages()[0];
|
|
15
|
-
const response = await page.goto("https://example.com");
|
|
16
|
-
expect(response).not.toBeNull();
|
|
17
|
-
expect(response.status()).toBe(200);
|
|
18
|
-
expect(response.ok()).toBeTruthy();
|
|
19
|
-
const headers = await response.headersArray();
|
|
20
|
-
expect(headers.length).toBeGreaterThan(0);
|
|
21
|
-
const body = await response.text();
|
|
22
|
-
expect(body).toContain("Example Domain");
|
|
23
|
-
const finished = await response.finished();
|
|
24
|
-
expect(finished).toBeNull();
|
|
25
|
-
});
|
|
26
|
-
test("falls back to null for data URLs", async () => {
|
|
27
|
-
const page = v3.context.pages()[0];
|
|
28
|
-
const response = await page.goto("data:text/html,<html><body data-testid='fallback'>inline</body></html>");
|
|
29
|
-
expect(response).toBeNull();
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
//# sourceMappingURL=page-goto-response.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"page-goto-response.spec.js","sourceRoot":"","sources":["../../../../tests/integration/page-goto-response.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,IAAI,CAAC,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IACjD,IAAI,EAAM,CAAC;IAEX,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;QACzB,EAAE,GAAG,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC;QAC1B,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;QACxB,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QAEnC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAExD,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,CAAC,QAAS,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,CAAC,QAAS,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;QAEpC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC9C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAE1C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAEzC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC3C,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QAEnC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAC9B,wEAAwE,CACzE,CAAC;QAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { test, expect } from \"@playwright/test\";\nimport { V3 } from \"../../lib/v3/v3.js\";\nimport { v3TestConfig } from \"./v3.config.js\";\n\ntest.describe(\"Page.goto() response surface\", () => {\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 response object for network navigations\", async () => {\n const page = v3.context.pages()[0];\n\n const response = await page.goto(\"https://example.com\");\n\n expect(response).not.toBeNull();\n expect(response!.status()).toBe(200);\n expect(response!.ok()).toBeTruthy();\n\n const headers = await response.headersArray();\n expect(headers.length).toBeGreaterThan(0);\n\n const body = await response.text();\n expect(body).toContain(\"Example Domain\");\n\n const finished = await response.finished();\n expect(finished).toBeNull();\n });\n\n test(\"falls back to null for data URLs\", async () => {\n const page = v3.context.pages()[0];\n\n const response = await page.goto(\n \"data:text/html,<html><body data-testid='fallback'>inline</body></html>\",\n );\n\n expect(response).toBeNull();\n });\n});\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
import { test, expect } from "@playwright/test";
|
|
2
|
-
import { V3 } from "../../lib/v3/v3.js";
|
|
3
|
-
import { v3TestConfig } from "./v3.config.js";
|
|
4
|
-
test.describe("Page.hover() - mouse hover at coordinates", () => {
|
|
5
|
-
let v3;
|
|
6
|
-
test.beforeEach(async () => {
|
|
7
|
-
v3 = new V3(v3TestConfig);
|
|
8
|
-
await v3.init();
|
|
9
|
-
});
|
|
10
|
-
test.afterEach(async () => {
|
|
11
|
-
await v3?.close?.().catch(() => { });
|
|
12
|
-
});
|
|
13
|
-
test("hover triggers mouseover event at coordinates", async () => {
|
|
14
|
-
const page = v3.context.pages()[0];
|
|
15
|
-
await page.goto("data:text/html," +
|
|
16
|
-
encodeURIComponent(`<!doctype html><html><body style="margin: 0; padding: 0;">
|
|
17
|
-
<div id="target"
|
|
18
|
-
style="position: absolute; top: 100px; left: 100px; width: 200px; height: 200px; background: lightblue;"
|
|
19
|
-
onmouseover="this.dataset.hovered='true'"
|
|
20
|
-
onmouseout="this.dataset.hovered='false'">
|
|
21
|
-
Hover Me
|
|
22
|
-
</div>
|
|
23
|
-
</body></html>`));
|
|
24
|
-
// Check initial state
|
|
25
|
-
let hovered = await page.evaluate(() => {
|
|
26
|
-
const el = document.getElementById("target");
|
|
27
|
-
return el?.dataset.hovered === "true";
|
|
28
|
-
});
|
|
29
|
-
expect(hovered).toBe(false);
|
|
30
|
-
// Hover at coordinates within the target element (200, 200 is center of the div)
|
|
31
|
-
await page.hover(200, 200);
|
|
32
|
-
// Verify mouseover was triggered
|
|
33
|
-
hovered = await page.evaluate(() => {
|
|
34
|
-
const el = document.getElementById("target");
|
|
35
|
-
return el?.dataset.hovered === "true";
|
|
36
|
-
});
|
|
37
|
-
expect(hovered).toBe(true);
|
|
38
|
-
});
|
|
39
|
-
test("hover moves mouse without clicking", async () => {
|
|
40
|
-
const page = v3.context.pages()[0];
|
|
41
|
-
await page.goto("data:text/html," +
|
|
42
|
-
encodeURIComponent(`<!doctype html><html><body style="margin: 0; padding: 0;">
|
|
43
|
-
<button id="btn"
|
|
44
|
-
style="position: absolute; top: 100px; left: 100px; width: 200px; height: 100px;"
|
|
45
|
-
onclick="this.dataset.clicked='true'"
|
|
46
|
-
onmouseover="this.dataset.hovered='true'">
|
|
47
|
-
Click Me
|
|
48
|
-
</button>
|
|
49
|
-
</body></html>`));
|
|
50
|
-
// Hover over the button
|
|
51
|
-
await page.hover(200, 150);
|
|
52
|
-
// Check that hover happened but click did not
|
|
53
|
-
const state = await page.evaluate(() => {
|
|
54
|
-
const btn = document.getElementById("btn");
|
|
55
|
-
return {
|
|
56
|
-
hovered: btn?.dataset.hovered === "true",
|
|
57
|
-
clicked: btn?.dataset.clicked === "true",
|
|
58
|
-
};
|
|
59
|
-
});
|
|
60
|
-
expect(state.hovered).toBe(true);
|
|
61
|
-
expect(state.clicked).toBe(false);
|
|
62
|
-
});
|
|
63
|
-
test("hover returns xpath when requested", async () => {
|
|
64
|
-
const page = v3.context.pages()[0];
|
|
65
|
-
await page.goto("data:text/html," +
|
|
66
|
-
encodeURIComponent(`<!doctype html><html><body style="margin: 0; padding: 0;">
|
|
67
|
-
<div id="target" style="position: absolute; top: 0px; left: 400px; width: 300px; height: 100px; background: blue;">
|
|
68
|
-
Target element
|
|
69
|
-
</div>
|
|
70
|
-
<p style="position: absolute; top: 200px; left: 0px;">Content below</p>
|
|
71
|
-
</body></html>`));
|
|
72
|
-
// Hover at coordinate (550, 50) which should be directly over the target div
|
|
73
|
-
const xpath = await page.hover(550, 50, { returnXpath: true });
|
|
74
|
-
// Should return a non-empty xpath string for the element at that coordinate
|
|
75
|
-
expect(typeof xpath).toBe("string");
|
|
76
|
-
expect(xpath.length).toBeGreaterThan(0);
|
|
77
|
-
// Xpath should reference the div
|
|
78
|
-
expect(xpath.toLowerCase()).toMatch(/div|target/);
|
|
79
|
-
});
|
|
80
|
-
test("hover without returnXpath returns empty string", async () => {
|
|
81
|
-
const page = v3.context.pages()[0];
|
|
82
|
-
await page.goto("data:text/html," +
|
|
83
|
-
encodeURIComponent(`<!doctype html><html><body style="margin: 0; padding: 0;">
|
|
84
|
-
<div style="width: 100px; height: 100px; background: lightblue;">Content</div>
|
|
85
|
-
</body></html>`));
|
|
86
|
-
// Hover without returnXpath
|
|
87
|
-
const result = await page.hover(50, 50);
|
|
88
|
-
// Should return empty string
|
|
89
|
-
expect(result).toBe("");
|
|
90
|
-
});
|
|
91
|
-
test("hover triggers CSS :hover styles", async () => {
|
|
92
|
-
const page = v3.context.pages()[0];
|
|
93
|
-
await page.goto("data:text/html," +
|
|
94
|
-
encodeURIComponent(`<!doctype html><html>
|
|
95
|
-
<head>
|
|
96
|
-
<style>
|
|
97
|
-
#hoverable {
|
|
98
|
-
position: absolute;
|
|
99
|
-
top: 100px;
|
|
100
|
-
left: 100px;
|
|
101
|
-
width: 200px;
|
|
102
|
-
height: 200px;
|
|
103
|
-
background: red;
|
|
104
|
-
}
|
|
105
|
-
#hoverable:hover {
|
|
106
|
-
background: green;
|
|
107
|
-
}
|
|
108
|
-
</style>
|
|
109
|
-
</head>
|
|
110
|
-
<body style="margin: 0; padding: 0;">
|
|
111
|
-
<div id="hoverable">Hover to change color</div>
|
|
112
|
-
</body></html>`));
|
|
113
|
-
// Get initial background color
|
|
114
|
-
let bgColor = await page.evaluate(() => {
|
|
115
|
-
const el = document.getElementById("hoverable");
|
|
116
|
-
return getComputedStyle(el).backgroundColor;
|
|
117
|
-
});
|
|
118
|
-
expect(bgColor).toBe("rgb(255, 0, 0)"); // red
|
|
119
|
-
// Hover over the element
|
|
120
|
-
await page.hover(200, 200);
|
|
121
|
-
// Check that CSS :hover state is applied
|
|
122
|
-
bgColor = await page.evaluate(() => {
|
|
123
|
-
const el = document.getElementById("hoverable");
|
|
124
|
-
return getComputedStyle(el).backgroundColor;
|
|
125
|
-
});
|
|
126
|
-
expect(bgColor).toBe("rgb(0, 128, 0)"); // green
|
|
127
|
-
});
|
|
128
|
-
test("multiple hovers move the mouse correctly", async () => {
|
|
129
|
-
const page = v3.context.pages()[0];
|
|
130
|
-
await page.goto("data:text/html," +
|
|
131
|
-
encodeURIComponent(`<!doctype html><html><body style="margin: 0; padding: 0;">
|
|
132
|
-
<div id="box1"
|
|
133
|
-
style="position: absolute; top: 0; left: 0; width: 100px; height: 100px; background: red;"
|
|
134
|
-
onmouseover="this.dataset.hovered='true'"
|
|
135
|
-
onmouseout="this.dataset.hovered='false'">
|
|
136
|
-
Box 1
|
|
137
|
-
</div>
|
|
138
|
-
<div id="box2"
|
|
139
|
-
style="position: absolute; top: 0; left: 200px; width: 100px; height: 100px; background: blue;"
|
|
140
|
-
onmouseover="this.dataset.hovered='true'"
|
|
141
|
-
onmouseout="this.dataset.hovered='false'">
|
|
142
|
-
Box 2
|
|
143
|
-
</div>
|
|
144
|
-
</body></html>`));
|
|
145
|
-
// Hover over box1
|
|
146
|
-
await page.hover(50, 50);
|
|
147
|
-
let state = await page.evaluate(() => ({
|
|
148
|
-
box1: document.getElementById("box1")?.dataset.hovered === "true",
|
|
149
|
-
box2: document.getElementById("box2")?.dataset.hovered === "true",
|
|
150
|
-
}));
|
|
151
|
-
expect(state.box1).toBe(true);
|
|
152
|
-
expect(state.box2).toBe(false);
|
|
153
|
-
// Move hover to box2
|
|
154
|
-
await page.hover(250, 50);
|
|
155
|
-
state = await page.evaluate(() => ({
|
|
156
|
-
box1: document.getElementById("box1")?.dataset.hovered === "true",
|
|
157
|
-
box2: document.getElementById("box2")?.dataset.hovered === "true",
|
|
158
|
-
}));
|
|
159
|
-
expect(state.box1).toBe(false);
|
|
160
|
-
expect(state.box2).toBe(true);
|
|
161
|
-
});
|
|
162
|
-
});
|
|
163
|
-
//# sourceMappingURL=page-hover.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"page-hover.spec.js","sourceRoot":"","sources":["../../../../tests/integration/page-hover.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(\"Page.hover() - mouse hover at coordinates\", () => {\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(\"hover triggers mouseover event at coordinates\", async () => {\n const page = v3.context.pages()[0];\n\n await page.goto(\n \"data:text/html,\" +\n encodeURIComponent(\n `<!doctype html><html><body style=\"margin: 0; padding: 0;\">\n <div id=\"target\" \n style=\"position: absolute; top: 100px; left: 100px; width: 200px; height: 200px; background: lightblue;\"\n onmouseover=\"this.dataset.hovered='true'\"\n onmouseout=\"this.dataset.hovered='false'\">\n Hover Me\n </div>\n </body></html>`,\n ),\n );\n\n // Check initial state\n let hovered = await page.evaluate(() => {\n const el = document.getElementById(\"target\");\n return el?.dataset.hovered === \"true\";\n });\n expect(hovered).toBe(false);\n\n // Hover at coordinates within the target element (200, 200 is center of the div)\n await page.hover(200, 200);\n\n // Verify mouseover was triggered\n hovered = await page.evaluate(() => {\n const el = document.getElementById(\"target\");\n return el?.dataset.hovered === \"true\";\n });\n expect(hovered).toBe(true);\n });\n\n test(\"hover moves mouse without clicking\", async () => {\n const page = v3.context.pages()[0];\n\n await page.goto(\n \"data:text/html,\" +\n encodeURIComponent(\n `<!doctype html><html><body style=\"margin: 0; padding: 0;\">\n <button id=\"btn\" \n style=\"position: absolute; top: 100px; left: 100px; width: 200px; height: 100px;\"\n onclick=\"this.dataset.clicked='true'\"\n onmouseover=\"this.dataset.hovered='true'\">\n Click Me\n </button>\n </body></html>`,\n ),\n );\n\n // Hover over the button\n await page.hover(200, 150);\n\n // Check that hover happened but click did not\n const state = await page.evaluate(() => {\n const btn = document.getElementById(\"btn\");\n return {\n hovered: btn?.dataset.hovered === \"true\",\n clicked: btn?.dataset.clicked === \"true\",\n };\n });\n\n expect(state.hovered).toBe(true);\n expect(state.clicked).toBe(false);\n });\n\n test(\"hover returns xpath when requested\", async () => {\n const page = v3.context.pages()[0];\n\n await page.goto(\n \"data:text/html,\" +\n encodeURIComponent(\n `<!doctype html><html><body style=\"margin: 0; padding: 0;\">\n <div id=\"target\" style=\"position: absolute; top: 0px; left: 400px; width: 300px; height: 100px; background: blue;\">\n Target element\n </div>\n <p style=\"position: absolute; top: 200px; left: 0px;\">Content below</p>\n </body></html>`,\n ),\n );\n\n // Hover at coordinate (550, 50) which should be directly over the target div\n const xpath = await page.hover(550, 50, { returnXpath: true });\n\n // Should return a non-empty xpath string for the element at that coordinate\n expect(typeof xpath).toBe(\"string\");\n expect(xpath.length).toBeGreaterThan(0);\n // Xpath should reference the div\n expect(xpath.toLowerCase()).toMatch(/div|target/);\n });\n\n test(\"hover without returnXpath returns empty string\", async () => {\n const page = v3.context.pages()[0];\n\n await page.goto(\n \"data:text/html,\" +\n encodeURIComponent(\n `<!doctype html><html><body style=\"margin: 0; padding: 0;\">\n <div style=\"width: 100px; height: 100px; background: lightblue;\">Content</div>\n </body></html>`,\n ),\n );\n\n // Hover without returnXpath\n const result = await page.hover(50, 50);\n\n // Should return empty string\n expect(result).toBe(\"\");\n });\n\n test(\"hover triggers CSS :hover styles\", async () => {\n const page = v3.context.pages()[0];\n\n await page.goto(\n \"data:text/html,\" +\n encodeURIComponent(\n `<!doctype html><html>\n <head>\n <style>\n #hoverable {\n position: absolute;\n top: 100px;\n left: 100px;\n width: 200px;\n height: 200px;\n background: red;\n }\n #hoverable:hover {\n background: green;\n }\n </style>\n </head>\n <body style=\"margin: 0; padding: 0;\">\n <div id=\"hoverable\">Hover to change color</div>\n </body></html>`,\n ),\n );\n\n // Get initial background color\n let bgColor = await page.evaluate(() => {\n const el = document.getElementById(\"hoverable\");\n return getComputedStyle(el!).backgroundColor;\n });\n expect(bgColor).toBe(\"rgb(255, 0, 0)\"); // red\n\n // Hover over the element\n await page.hover(200, 200);\n\n // Check that CSS :hover state is applied\n bgColor = await page.evaluate(() => {\n const el = document.getElementById(\"hoverable\");\n return getComputedStyle(el!).backgroundColor;\n });\n expect(bgColor).toBe(\"rgb(0, 128, 0)\"); // green\n });\n\n test(\"multiple hovers move the mouse correctly\", async () => {\n const page = v3.context.pages()[0];\n\n await page.goto(\n \"data:text/html,\" +\n encodeURIComponent(\n `<!doctype html><html><body style=\"margin: 0; padding: 0;\">\n <div id=\"box1\" \n style=\"position: absolute; top: 0; left: 0; width: 100px; height: 100px; background: red;\"\n onmouseover=\"this.dataset.hovered='true'\"\n onmouseout=\"this.dataset.hovered='false'\">\n Box 1\n </div>\n <div id=\"box2\" \n style=\"position: absolute; top: 0; left: 200px; width: 100px; height: 100px; background: blue;\"\n onmouseover=\"this.dataset.hovered='true'\"\n onmouseout=\"this.dataset.hovered='false'\">\n Box 2\n </div>\n </body></html>`,\n ),\n );\n\n // Hover over box1\n await page.hover(50, 50);\n\n let state = await page.evaluate(() => ({\n box1: document.getElementById(\"box1\")?.dataset.hovered === \"true\",\n box2: document.getElementById(\"box2\")?.dataset.hovered === \"true\",\n }));\n\n expect(state.box1).toBe(true);\n expect(state.box2).toBe(false);\n\n // Move hover to box2\n await page.hover(250, 50);\n\n state = await page.evaluate(() => ({\n box1: document.getElementById(\"box1\")?.dataset.hovered === \"true\",\n box2: document.getElementById(\"box2\")?.dataset.hovered === \"true\",\n }));\n\n expect(state.box1).toBe(false);\n expect(state.box2).toBe(true);\n });\n});\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|