@rehearsal-labs/retest 0.1.0 → 0.3.0
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/README.md +12 -5
- package/dist/agent/session.d.ts +21 -2
- package/dist/agent/session.d.ts.map +1 -1
- package/dist/agent/session.js +73 -11
- package/dist/api/app-page.d.ts +39 -3
- package/dist/api/app-page.d.ts.map +1 -1
- package/dist/api/app-page.js +108 -0
- package/dist/api/dialog.d.ts +38 -0
- package/dist/api/dialog.d.ts.map +1 -0
- package/dist/api/dialog.js +78 -0
- package/dist/api/drag.d.ts +32 -0
- package/dist/api/drag.d.ts.map +1 -0
- package/dist/api/drag.js +26 -0
- package/dist/api/files.d.ts +49 -0
- package/dist/api/files.d.ts.map +1 -0
- package/dist/api/files.js +168 -0
- package/dist/api/inbox.d.ts +97 -0
- package/dist/api/inbox.d.ts.map +1 -0
- package/dist/api/inbox.js +191 -0
- package/dist/api/locator-recipes.d.ts +1 -1
- package/dist/api/locator-recipes.d.ts.map +1 -1
- package/dist/api/locator-recipes.js +4 -3
- package/dist/api/page.d.ts +214 -4
- package/dist/api/page.d.ts.map +1 -1
- package/dist/api/route.d.ts +21 -0
- package/dist/api/route.d.ts.map +1 -0
- package/dist/api/route.js +99 -0
- package/dist/api/source-location.d.ts.map +1 -1
- package/dist/api/source-location.js +3 -1
- package/dist/api/test-run.d.ts +127 -1
- package/dist/api/test-run.d.ts.map +1 -1
- package/dist/api/test-run.js +293 -0
- package/dist/assertions/expect.d.ts +91 -2
- package/dist/assertions/expect.d.ts.map +1 -1
- package/dist/assertions/expect.js +98 -0
- package/dist/assertions/look-until.d.ts +5 -0
- package/dist/assertions/look-until.d.ts.map +1 -1
- package/dist/assertions/look-until.js +1 -1
- package/dist/assertions/poll-layout.d.ts +24 -0
- package/dist/assertions/poll-layout.d.ts.map +1 -0
- package/dist/assertions/poll-layout.js +63 -0
- package/dist/assertions/screenshot.d.ts +36 -0
- package/dist/assertions/screenshot.d.ts.map +1 -0
- package/dist/assertions/screenshot.js +125 -0
- package/dist/browser/accessibility.d.ts.map +1 -1
- package/dist/browser/accessibility.js +22 -1
- package/dist/browser/actionability.d.ts +9 -6
- package/dist/browser/actionability.d.ts.map +1 -1
- package/dist/browser/actionability.js +17 -8
- package/dist/browser/browser.d.ts.map +1 -1
- package/dist/browser/browser.js +15 -4
- package/dist/browser/builds.d.ts +35 -6
- package/dist/browser/builds.d.ts.map +1 -1
- package/dist/browser/builds.js +115 -16
- package/dist/browser/cdp/connection.d.ts +6 -0
- package/dist/browser/cdp/connection.d.ts.map +1 -1
- package/dist/browser/cdp/connection.js +8 -0
- package/dist/browser/cdp/transport.d.ts.map +1 -1
- package/dist/browser/cdp/transport.js +4 -4
- package/dist/browser/checked-state.d.ts +2 -2
- package/dist/browser/checked-state.d.ts.map +1 -1
- package/dist/browser/chromium-process.d.ts +32 -2
- package/dist/browser/chromium-process.d.ts.map +1 -1
- package/dist/browser/chromium-process.js +95 -17
- package/dist/browser/contract.d.ts +119 -5
- package/dist/browser/contract.d.ts.map +1 -1
- package/dist/browser/dialogs.d.ts +157 -0
- package/dist/browser/dialogs.d.ts.map +1 -0
- package/dist/browser/dialogs.js +271 -0
- package/dist/browser/downloads.d.ts +71 -0
- package/dist/browser/downloads.d.ts.map +1 -0
- package/dist/browser/downloads.js +253 -0
- package/dist/browser/drag.d.ts +50 -0
- package/dist/browser/drag.d.ts.map +1 -0
- package/dist/browser/drag.js +584 -0
- package/dist/browser/electron-window-watch.d.ts +32 -0
- package/dist/browser/electron-window-watch.d.ts.map +1 -0
- package/dist/browser/electron-window-watch.js +93 -0
- package/dist/browser/electron.d.ts +14 -3
- package/dist/browser/electron.d.ts.map +1 -1
- package/dist/browser/electron.js +57 -9
- package/dist/browser/element-queries.d.ts +51 -15
- package/dist/browser/element-queries.d.ts.map +1 -1
- package/dist/browser/element-queries.js +92 -13
- package/dist/browser/emulation.d.ts.map +1 -1
- package/dist/browser/emulation.js +7 -5
- package/dist/browser/executables.d.ts +16 -1
- package/dist/browser/executables.d.ts.map +1 -1
- package/dist/browser/executables.js +50 -18
- package/dist/browser/file-chooser.d.ts +75 -0
- package/dist/browser/file-chooser.d.ts.map +1 -0
- package/dist/browser/file-chooser.js +449 -0
- package/dist/browser/firefox/accessible-names.d.ts +5 -4
- package/dist/browser/firefox/accessible-names.d.ts.map +1 -1
- package/dist/browser/firefox/accessible-names.js +11 -6
- package/dist/browser/firefox/bridge.js +3 -2
- package/dist/browser/firefox/executable.d.ts +14 -14
- package/dist/browser/firefox/executable.d.ts.map +1 -1
- package/dist/browser/firefox/executable.js +29 -21
- package/dist/browser/firefox/input.d.ts +5 -0
- package/dist/browser/firefox/input.d.ts.map +1 -1
- package/dist/browser/firefox/input.js +6 -3
- package/dist/browser/firefox/launch.js +1 -1
- package/dist/browser/firefox/navigation.d.ts +5 -2
- package/dist/browser/firefox/navigation.d.ts.map +1 -1
- package/dist/browser/firefox/navigation.js +48 -14
- package/dist/browser/firefox/orphans.d.ts.map +1 -1
- package/dist/browser/firefox/orphans.js +34 -2
- package/dist/browser/firefox/page.d.ts +11 -1
- package/dist/browser/firefox/page.d.ts.map +1 -1
- package/dist/browser/firefox/page.js +179 -26
- package/dist/browser/firefox/process.d.ts +20 -1
- package/dist/browser/firefox/process.d.ts.map +1 -1
- package/dist/browser/firefox/process.js +124 -22
- package/dist/browser/firefox/profile.d.ts +5 -0
- package/dist/browser/firefox/profile.d.ts.map +1 -1
- package/dist/browser/firefox/profile.js +17 -1
- package/dist/browser/firefox/storage.d.ts.map +1 -1
- package/dist/browser/firefox/storage.js +4 -2
- package/dist/browser/firefox/subscriptions.d.ts +26 -0
- package/dist/browser/firefox/subscriptions.d.ts.map +1 -0
- package/dist/browser/firefox/subscriptions.js +10 -0
- package/dist/browser/frames.d.ts +205 -0
- package/dist/browser/frames.d.ts.map +1 -0
- package/dist/browser/frames.js +657 -0
- package/dist/browser/input-guard.d.ts +18 -5
- package/dist/browser/input-guard.d.ts.map +1 -1
- package/dist/browser/input-guard.js +65 -6
- package/dist/browser/isolated-world.d.ts +8 -1
- package/dist/browser/isolated-world.d.ts.map +1 -1
- package/dist/browser/launch.d.ts +6 -0
- package/dist/browser/launch.d.ts.map +1 -1
- package/dist/browser/launch.js +14 -1
- package/dist/browser/layout.d.ts +120 -0
- package/dist/browser/layout.d.ts.map +1 -0
- package/dist/browser/layout.js +213 -0
- package/dist/browser/locate.d.ts +10 -0
- package/dist/browser/locate.d.ts.map +1 -1
- package/dist/browser/locate.js +24 -6
- package/dist/browser/origin-document.d.ts +4 -0
- package/dist/browser/origin-document.d.ts.map +1 -1
- package/dist/browser/origin-document.js +9 -1
- package/dist/browser/page-scripts.d.ts +48 -0
- package/dist/browser/page-scripts.d.ts.map +1 -1
- package/dist/browser/page-scripts.js +515 -39
- package/dist/browser/page.d.ts +60 -1
- package/dist/browser/page.d.ts.map +1 -1
- package/dist/browser/page.js +275 -32
- package/dist/browser/popups.d.ts +166 -0
- package/dist/browser/popups.d.ts.map +1 -0
- package/dist/browser/popups.js +317 -0
- package/dist/browser/routes.d.ts +97 -0
- package/dist/browser/routes.d.ts.map +1 -0
- package/dist/browser/routes.js +226 -0
- package/dist/browser/screenshot.d.ts +44 -0
- package/dist/browser/screenshot.d.ts.map +1 -0
- package/dist/browser/screenshot.js +51 -0
- package/dist/browser/shadow-candidates.d.ts +20 -0
- package/dist/browser/shadow-candidates.d.ts.map +1 -0
- package/dist/browser/shadow-candidates.js +77 -0
- package/dist/browser/webkit/page.d.ts +11 -1
- package/dist/browser/webkit/page.d.ts.map +1 -1
- package/dist/browser/webkit/page.js +53 -2
- package/dist/browser/webkit/relay.d.ts.map +1 -1
- package/dist/browser/webkit/relay.js +5 -1
- package/dist/cli/commands/doctor.js +3 -3
- package/dist/cli/commands/inspect.js +3 -2
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +26 -13
- package/dist/cli/commands/licences.d.ts +22 -0
- package/dist/cli/commands/licences.d.ts.map +1 -1
- package/dist/cli/commands/licences.js +62 -20
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +4 -2
- package/dist/cli/doctor/checks.js +4 -1
- package/dist/cli/inspect/diagnostics.js +3 -3
- package/dist/cli/inspect/test-timeline.d.ts.map +1 -1
- package/dist/cli/inspect/test-timeline.js +45 -11
- package/dist/cli/install/doctor-rows.d.ts.map +1 -1
- package/dist/cli/install/doctor-rows.js +5 -4
- package/dist/cli/install/file-changes.d.ts +44 -0
- package/dist/cli/install/file-changes.d.ts.map +1 -0
- package/dist/cli/install/file-changes.js +81 -0
- package/dist/cli/install/install-archive.d.ts +3 -1
- package/dist/cli/install/install-archive.d.ts.map +1 -1
- package/dist/cli/install/install-archive.js +80 -33
- package/dist/cli/install/lock.d.ts.map +1 -1
- package/dist/cli/install/lock.js +108 -21
- package/dist/cli/install/media-doctor.d.ts.map +1 -1
- package/dist/cli/install/media-doctor.js +2 -1
- package/dist/cli/install/media-install.d.ts.map +1 -1
- package/dist/cli/install/media-install.js +38 -19
- package/dist/cli/install/media-pins.d.ts +7 -1
- package/dist/cli/install/media-pins.d.ts.map +1 -1
- package/dist/cli/install/media-pins.js +23 -12
- package/dist/cli/install/media-record.d.ts.map +1 -1
- package/dist/cli/install/media-record.js +10 -9
- package/dist/cli/install/media-report.d.ts +3 -1
- package/dist/cli/install/media-report.d.ts.map +1 -1
- package/dist/cli/install/media-report.js +7 -5
- package/dist/cli/install/media-tools.d.ts.map +1 -1
- package/dist/cli/install/media-tools.js +6 -4
- package/dist/cli/install/process-start.d.ts +3 -2
- package/dist/cli/install/process-start.d.ts.map +1 -1
- package/dist/cli/install/process-start.js +4 -0
- package/dist/cli/install/report.d.ts.map +1 -1
- package/dist/cli/install/report.js +11 -7
- package/dist/cli/install/supervisor-install.d.ts +33 -0
- package/dist/cli/install/supervisor-install.d.ts.map +1 -0
- package/dist/cli/install/supervisor-install.js +158 -0
- package/dist/cli/install/supervisor-locate.d.ts +47 -0
- package/dist/cli/install/supervisor-locate.d.ts.map +1 -0
- package/dist/cli/install/supervisor-locate.js +113 -0
- package/dist/cli/install/supervisor-pins.d.ts +21 -0
- package/dist/cli/install/supervisor-pins.d.ts.map +1 -0
- package/dist/cli/install/supervisor-pins.js +28 -0
- package/dist/cli/install/supervisor-record.d.ts +31 -0
- package/dist/cli/install/supervisor-record.d.ts.map +1 -0
- package/dist/cli/install/supervisor-record.js +104 -0
- package/dist/cli/install/supervisor-report.d.ts +11 -0
- package/dist/cli/install/supervisor-report.d.ts.map +1 -0
- package/dist/cli/install/supervisor-report.js +33 -0
- package/dist/cli/install/supervisor-tools.d.ts +43 -0
- package/dist/cli/install/supervisor-tools.d.ts.map +1 -0
- package/dist/cli/install/supervisor-tools.js +114 -0
- package/dist/cli/install/unpack.d.ts +23 -3
- package/dist/cli/install/unpack.d.ts.map +1 -1
- package/dist/cli/install/unpack.js +124 -10
- package/dist/cli/install/zip-member.d.ts +15 -0
- package/dist/cli/install/zip-member.d.ts.map +1 -0
- package/dist/cli/install/zip-member.js +77 -0
- package/dist/cli/interrupt.d.ts +1 -1
- package/dist/cli/interrupt.d.ts.map +1 -1
- package/dist/cli/interrupt.js +15 -10
- package/dist/cli/terminal.d.ts +9 -1
- package/dist/cli/terminal.d.ts.map +1 -1
- package/dist/cli/terminal.js +14 -0
- package/dist/config/define.d.ts +2 -2
- package/dist/config/define.js +2 -2
- package/dist/config/loaded.d.ts +12 -2
- package/dist/config/loaded.d.ts.map +1 -1
- package/dist/config/read-inboxes.d.ts +10 -0
- package/dist/config/read-inboxes.d.ts.map +1 -0
- package/dist/config/read-inboxes.js +78 -0
- package/dist/config/register.d.ts +5 -1
- package/dist/config/register.d.ts.map +1 -1
- package/dist/config/types.d.ts +36 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/validate.d.ts.map +1 -1
- package/dist/config/validate.js +4 -1
- package/dist/diagnostics/artifact.d.ts.map +1 -1
- package/dist/diagnostics/artifact.js +10 -2
- package/dist/diagnostics/attempt.d.ts +5 -0
- package/dist/diagnostics/attempt.d.ts.map +1 -1
- package/dist/diagnostics/attempt.js +10 -0
- package/dist/diagnostics/chromium-collector.d.ts +9 -1
- package/dist/diagnostics/chromium-collector.d.ts.map +1 -1
- package/dist/diagnostics/chromium-collector.js +19 -4
- package/dist/diagnostics/firefox-collector.d.ts +11 -10
- package/dist/diagnostics/firefox-collector.d.ts.map +1 -1
- package/dist/diagnostics/firefox-collector.js +16 -11
- package/dist/diagnostics/observations.d.ts +8 -0
- package/dist/diagnostics/observations.d.ts.map +1 -1
- package/dist/diagnostics/session-capture.d.ts.map +1 -1
- package/dist/diagnostics/session-capture.js +8 -0
- package/dist/index.d.ts +9 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/media/client.d.ts +2 -1
- package/dist/media/client.d.ts.map +1 -1
- package/dist/media/client.js +16 -5
- package/dist/media/host.d.ts +32 -0
- package/dist/media/host.d.ts.map +1 -0
- package/dist/media/host.js +50 -0
- package/dist/media/locate.d.ts.map +1 -1
- package/dist/media/locate.js +4 -3
- package/dist/media/policy.d.ts +2 -2
- package/dist/media/policy.d.ts.map +1 -1
- package/dist/media/policy.js +1 -1
- package/dist/native/processes.d.ts.map +1 -1
- package/dist/native/processes.js +7 -3
- package/dist/playwright/not-yet.d.ts.map +1 -1
- package/dist/playwright/not-yet.js +5 -2
- package/dist/protocol/commands.d.ts +122 -13
- package/dist/protocol/commands.d.ts.map +1 -1
- package/dist/protocol/commands.js +85 -6
- package/dist/protocol/diagnostics.d.ts +10 -0
- package/dist/protocol/diagnostics.d.ts.map +1 -1
- package/dist/protocol/diagnostics.js +5 -0
- package/dist/protocol/dialogs.d.ts +104 -0
- package/dist/protocol/dialogs.d.ts.map +1 -0
- package/dist/protocol/dialogs.js +101 -0
- package/dist/protocol/drag.d.ts +45 -0
- package/dist/protocol/drag.d.ts.map +1 -0
- package/dist/protocol/drag.js +31 -0
- package/dist/protocol/events.d.ts +153 -1
- package/dist/protocol/events.d.ts.map +1 -1
- package/dist/protocol/events.js +97 -0
- package/dist/protocol/files.d.ts +83 -0
- package/dist/protocol/files.d.ts.map +1 -0
- package/dist/protocol/files.js +73 -0
- package/dist/protocol/inbox.d.ts +87 -0
- package/dist/protocol/inbox.d.ts.map +1 -0
- package/dist/protocol/inbox.js +51 -0
- package/dist/protocol/index.d.ts +4 -1
- package/dist/protocol/index.d.ts.map +1 -1
- package/dist/protocol/layout-checks.d.ts +83 -0
- package/dist/protocol/layout-checks.d.ts.map +1 -0
- package/dist/protocol/layout-checks.js +214 -0
- package/dist/protocol/layout.d.ts +135 -0
- package/dist/protocol/layout.d.ts.map +1 -0
- package/dist/protocol/layout.js +124 -0
- package/dist/protocol/locator-checks.d.ts +19 -2
- package/dist/protocol/locator-checks.d.ts.map +1 -1
- package/dist/protocol/locator-checks.js +23 -1
- package/dist/protocol/locator.d.ts +55 -7
- package/dist/protocol/locator.d.ts.map +1 -1
- package/dist/protocol/locator.js +99 -18
- package/dist/protocol/messages.d.ts +95 -0
- package/dist/protocol/messages.d.ts.map +1 -1
- package/dist/protocol/messages.js +63 -0
- package/dist/protocol/popups.d.ts +43 -0
- package/dist/protocol/popups.d.ts.map +1 -0
- package/dist/protocol/popups.js +27 -0
- package/dist/protocol/result.d.ts +5 -0
- package/dist/protocol/result.d.ts.map +1 -1
- package/dist/protocol/result.js +1 -0
- package/dist/protocol/routes.d.ts +136 -0
- package/dist/protocol/routes.d.ts.map +1 -0
- package/dist/protocol/routes.js +191 -0
- package/dist/protocol/screenshot.d.ts +219 -0
- package/dist/protocol/screenshot.d.ts.map +1 -0
- package/dist/protocol/screenshot.js +335 -0
- package/dist/reporters/actions.d.ts +6 -4
- package/dist/reporters/actions.d.ts.map +1 -1
- package/dist/reporters/actions.js +24 -6
- package/dist/reporters/agent.d.ts.map +1 -1
- package/dist/reporters/agent.js +4 -2
- package/dist/reporters/commands.d.ts +12 -3
- package/dist/reporters/commands.d.ts.map +1 -1
- package/dist/reporters/commands.js +29 -11
- package/dist/reporters/dialogs-popups.d.ts +22 -0
- package/dist/reporters/dialogs-popups.d.ts.map +1 -0
- package/dist/reporters/dialogs-popups.js +30 -0
- package/dist/reporters/failure-card.d.ts +10 -1
- package/dist/reporters/failure-card.d.ts.map +1 -1
- package/dist/reporters/failure-card.js +5 -1
- package/dist/reporters/format.d.ts +33 -0
- package/dist/reporters/format.d.ts.map +1 -1
- package/dist/reporters/format.js +42 -0
- package/dist/reporters/html/comparison-view.d.ts +12 -0
- package/dist/reporters/html/comparison-view.d.ts.map +1 -0
- package/dist/reporters/html/comparison-view.js +21 -0
- package/dist/reporters/html/diagnostics-view.js +8 -0
- package/dist/reporters/html/downloads-view.d.ts +10 -0
- package/dist/reporters/html/downloads-view.d.ts.map +1 -0
- package/dist/reporters/html/downloads-view.js +29 -0
- package/dist/reporters/html/style.d.ts.map +1 -1
- package/dist/reporters/html/style.js +3 -0
- package/dist/reporters/html/summary-view.d.ts.map +1 -1
- package/dist/reporters/html/summary-view.js +3 -2
- package/dist/reporters/html/test-view.d.ts.map +1 -1
- package/dist/reporters/html/test-view.js +6 -3
- package/dist/reporters/html/timeline-view.d.ts.map +1 -1
- package/dist/reporters/html/timeline-view.js +26 -2
- package/dist/reporters/human-card.js +11 -1
- package/dist/reporters/human.d.ts +3 -1
- package/dist/reporters/human.d.ts.map +1 -1
- package/dist/reporters/human.js +11 -9
- package/dist/reporters/routes.d.ts +9 -0
- package/dist/reporters/routes.d.ts.map +1 -0
- package/dist/reporters/routes.js +17 -0
- package/dist/reporters/style.d.ts +21 -2
- package/dist/reporters/style.d.ts.map +1 -1
- package/dist/reporters/style.js +11 -2
- package/dist/runner/app-server.d.ts +27 -7
- package/dist/runner/app-server.d.ts.map +1 -1
- package/dist/runner/app-server.js +74 -24
- package/dist/runner/child-program.js +10 -0
- package/dist/runner/child.js +6 -2
- package/dist/runner/contract.d.ts +5 -0
- package/dist/runner/contract.d.ts.map +1 -1
- package/dist/runner/dialogs.d.ts +71 -0
- package/dist/runner/dialogs.d.ts.map +1 -0
- package/dist/runner/dialogs.js +189 -0
- package/dist/runner/files.d.ts +79 -0
- package/dist/runner/files.d.ts.map +1 -0
- package/dist/runner/files.js +312 -0
- package/dist/runner/inbox-links.d.ts +19 -0
- package/dist/runner/inbox-links.d.ts.map +1 -0
- package/dist/runner/inbox-links.js +63 -0
- package/dist/runner/inbox.d.ts +87 -0
- package/dist/runner/inbox.d.ts.map +1 -0
- package/dist/runner/inbox.js +340 -0
- package/dist/runner/index.d.ts +2 -1
- package/dist/runner/index.d.ts.map +1 -1
- package/dist/runner/media-leftovers.d.ts +7 -3
- package/dist/runner/media-leftovers.d.ts.map +1 -1
- package/dist/runner/media-leftovers.js +27 -6
- package/dist/runner/native-pool.d.ts.map +1 -1
- package/dist/runner/native-pool.js +2 -0
- package/dist/runner/observations.d.ts +15 -2
- package/dist/runner/observations.d.ts.map +1 -1
- package/dist/runner/observations.js +109 -6
- package/dist/runner/popups.d.ts +82 -0
- package/dist/runner/popups.d.ts.map +1 -0
- package/dist/runner/popups.js +236 -0
- package/dist/runner/redactor.d.ts.map +1 -1
- package/dist/runner/redactor.js +10 -6
- package/dist/runner/resources.d.ts +8 -0
- package/dist/runner/resources.d.ts.map +1 -1
- package/dist/runner/resources.js +12 -1
- package/dist/runner/routes.d.ts +23 -0
- package/dist/runner/routes.d.ts.map +1 -0
- package/dist/runner/routes.js +128 -0
- package/dist/runner/run-media.d.ts +6 -0
- package/dist/runner/run-media.d.ts.map +1 -1
- package/dist/runner/run-media.js +21 -0
- package/dist/runner/run-session.d.ts.map +1 -1
- package/dist/runner/run-session.js +102 -12
- package/dist/runner/run.d.ts.map +1 -1
- package/dist/runner/run.js +2 -1
- package/dist/runner/running-test.d.ts +35 -0
- package/dist/runner/running-test.d.ts.map +1 -1
- package/dist/runner/running-test.js +333 -22
- package/dist/runner/screenshot-baselines.d.ts +159 -0
- package/dist/runner/screenshot-baselines.d.ts.map +1 -0
- package/dist/runner/screenshot-baselines.js +357 -0
- package/dist/runner/secrets.d.ts +13 -0
- package/dist/runner/secrets.d.ts.map +1 -1
- package/dist/runner/secrets.js +6 -4
- package/dist/runner/target-drivers.d.ts +5 -2
- package/dist/runner/target-drivers.d.ts.map +1 -1
- package/dist/runner/target-drivers.js +10 -1
- package/dist/runner/test-file-process.d.ts +8 -0
- package/dist/runner/test-file-process.d.ts.map +1 -1
- package/dist/runner/test-file-process.js +26 -3
- package/dist/runner/test-pages.d.ts +3 -1
- package/dist/runner/test-pages.d.ts.map +1 -1
- package/dist/runner/test-pages.js +9 -5
- package/dist/schemas/event-v1.schema.json +118873 -6311
- package/dist/schemas/result-v1.schema.json +4 -0
- package/dist/shared/environment.d.ts +17 -0
- package/dist/shared/environment.d.ts.map +1 -0
- package/dist/shared/environment.js +27 -0
- package/dist/shared/image-diff.d.ts +36 -0
- package/dist/shared/image-diff.d.ts.map +1 -0
- package/dist/shared/image-diff.js +242 -0
- package/dist/shared/metadata-process-worker.js +15 -7
- package/dist/shared/metadata-process.d.ts +9 -1
- package/dist/shared/metadata-process.d.ts.map +1 -1
- package/dist/shared/metadata-process.js +84 -12
- package/dist/shared/png.d.ts +35 -0
- package/dist/shared/png.d.ts.map +1 -0
- package/dist/shared/png.js +251 -0
- package/dist/shared/posix-path.d.ts +12 -0
- package/dist/shared/posix-path.d.ts.map +1 -1
- package/dist/shared/posix-path.js +16 -0
- package/dist/shared/private-file.d.ts +38 -0
- package/dist/shared/private-file.d.ts.map +1 -0
- package/dist/shared/private-file.js +132 -0
- package/dist/shared/process-ownership.d.ts +67 -6
- package/dist/shared/process-ownership.d.ts.map +1 -1
- package/dist/shared/process-ownership.js +227 -45
- package/dist/shared/process-supervisor.d.ts +309 -0
- package/dist/shared/process-supervisor.d.ts.map +1 -0
- package/dist/shared/process-supervisor.js +737 -0
- package/dist/shared/process-system.d.ts +113 -0
- package/dist/shared/process-system.d.ts.map +1 -0
- package/dist/shared/process-system.js +254 -0
- package/dist/shared/regular-file.d.ts +2 -2
- package/dist/shared/regular-file.d.ts.map +1 -1
- package/dist/shared/regular-file.js +19 -2
- package/dist/store/artifacts.d.ts +28 -6
- package/dist/store/artifacts.d.ts.map +1 -1
- package/dist/store/artifacts.js +58 -6
- package/dist/store/rebuild-result.d.ts.map +1 -1
- package/dist/store/rebuild-result.js +6 -0
- package/dist/store/run-store.d.ts +5 -2
- package/dist/store/run-store.d.ts.map +1 -1
- package/dist/store/run-store.js +48 -4
- package/media/Cargo.lock +16 -0
- package/media/Cargo.toml +16 -1
- package/media/src/encoder.rs +56 -12
- package/media/src/frame.rs +7 -1
- package/media/src/main.rs +20 -2
- package/media/src/place.rs +230 -11
- package/media/src/process_ownership_windows.rs +1058 -0
- package/media/src/recording.rs +15 -7
- package/media/src/replies.rs +55 -0
- package/media/src/server.rs +72 -2
- package/media/src/store.rs +71 -2
- package/package.json +9 -4
- package/src/cli/install/media-notices.txt +465 -1
- package/supervisor/Cargo.lock +25 -0
- package/supervisor/Cargo.toml +22 -0
- package/supervisor/NOTICES +464 -0
- package/supervisor/build.rs +44 -0
- package/supervisor/src/command.rs +612 -0
- package/supervisor/src/jobs.rs +1650 -0
- package/supervisor/src/main.rs +71 -0
- package/supervisor/src/reply.rs +367 -0
|
@@ -1,27 +1,37 @@
|
|
|
1
|
+
import { type DragThrough } from './drag.ts';
|
|
1
2
|
import { type Failure } from './failures.ts';
|
|
3
|
+
import { type FileRecord, type InputFileRecord } from './files.ts';
|
|
4
|
+
import { type InboxCodeRef, type InboxLinkRef } from './inbox.ts';
|
|
5
|
+
import { type LayoutLook } from './layout.ts';
|
|
2
6
|
import { type EmptyStep, type LocatorRecipe } from './locator.ts';
|
|
3
7
|
import { type OptionChoiceRecord } from './option-choices.ts';
|
|
4
8
|
import { type PageFacts } from './page-facts.ts';
|
|
5
9
|
import { type Schema } from './schema.ts';
|
|
10
|
+
import { type ScreenshotLook } from './screenshot.ts';
|
|
6
11
|
import { type SecretRef } from './secret.ts';
|
|
7
|
-
/** What `fill` types: the text itself, or a secret the parent resolves. */
|
|
8
|
-
export type FillValue = string | SecretRef;
|
|
12
|
+
/** What `fill` types: the text itself, or a secret or a code from an inbox, which the parent resolves. */
|
|
13
|
+
export type FillValue = string | SecretRef | InboxCodeRef;
|
|
14
|
+
/** Where `goto` goes: an address, or a link from an inbox, which the parent resolves. */
|
|
15
|
+
export type GotoTarget = string | InboxLinkRef;
|
|
9
16
|
/**
|
|
10
|
-
* A page command from the child. `goto.url` is what the test passed
|
|
11
|
-
* base URL. `reload`, `goBack` and `goForward` reload the
|
|
12
|
-
* as the test wrote it, which `parseKey` reads; a `press`
|
|
13
|
-
* holds the focus. `select.choices` are the options to
|
|
14
|
-
* `optionChoicesProblem` checks. `select.multiple` is present when
|
|
17
|
+
* A page command from the child. `goto.url` is what the test passed, an address the parent resolves against the
|
|
18
|
+
* base URL, or a link from an inbox, which only the parent can read. `reload`, `goBack` and `goForward` reload the
|
|
19
|
+
* page and move through its history. `press.key` is the key as the test wrote it, which `parseKey` reads; a `press`
|
|
20
|
+
* without a locator goes to the page's keyboard, to whatever holds the focus. `select.choices` are the options to
|
|
21
|
+
* choose, in the order the test named them, which `optionChoicesProblem` checks. `select.multiple` is present when
|
|
22
|
+
* the test passed a list, which only a
|
|
15
23
|
* `<select multiple>` takes, even a list of one. `scroll` turns the mouse wheel by `x` and `y` CSS pixels, which
|
|
16
24
|
* `scrollProblem` checks: at the element's centre, or without a locator at the viewport's. `hover` moves the mouse to
|
|
17
|
-
* the element's centre. `observe` reads a locator's elements once, and `observePage` the page's address and title.
|
|
25
|
+
* the element's centre. `observe` reads a locator's elements once, and `observePage` the page's address and title. `observeLayout`
|
|
26
|
+
* measures the page's layout once, with the one element `locator` finds and the one `other` finds, each when given,
|
|
27
|
+
* and with how much of their words a container cuts off when `words` is set.
|
|
18
28
|
* With `after`, a look first waits until the page's document has changed since `after.changes`, as the page counts
|
|
19
29
|
* its changes, or until `after.waitMs` have passed, and never past its own time. `check` marks a look a check sends
|
|
20
30
|
* while it polls, which reports an assertion once it ends; a plain read, such as `page.url()`, sends none.
|
|
21
31
|
*/
|
|
22
32
|
export type PageCommand = {
|
|
23
33
|
kind: 'goto';
|
|
24
|
-
url:
|
|
34
|
+
url: GotoTarget;
|
|
25
35
|
} | {
|
|
26
36
|
kind: 'reload';
|
|
27
37
|
} | {
|
|
@@ -61,6 +71,33 @@ export type PageCommand = {
|
|
|
61
71
|
locator?: LocatorRecipe;
|
|
62
72
|
x: number;
|
|
63
73
|
y: number;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Gives a file input the files, as `inputFilesProblem` checks them, in place of those it held; none clears it.
|
|
77
|
+
* `list` is present when the test passed a list, even of one or of none.
|
|
78
|
+
*/
|
|
79
|
+
| {
|
|
80
|
+
kind: 'setInputFiles';
|
|
81
|
+
locator: LocatorRecipe;
|
|
82
|
+
files: InputFileRecord[];
|
|
83
|
+
list?: true;
|
|
84
|
+
}
|
|
85
|
+
/** Gives the input of a file picker a `page.fileChooser()` caught the files, by the id the parent gave the picker. */
|
|
86
|
+
| {
|
|
87
|
+
kind: 'setChooserFiles';
|
|
88
|
+
chooser: string;
|
|
89
|
+
files: InputFileRecord[];
|
|
90
|
+
list?: true;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Presses the mouse on the element `locator` finds, moves it through `steps` positions, 5 when absent, to the centre
|
|
94
|
+
* of the element `target` finds, and releases it there; `dragProblem` checks `steps`.
|
|
95
|
+
*/
|
|
96
|
+
| {
|
|
97
|
+
kind: 'dragTo';
|
|
98
|
+
locator: LocatorRecipe;
|
|
99
|
+
target: LocatorRecipe;
|
|
100
|
+
steps?: number;
|
|
64
101
|
} | {
|
|
65
102
|
kind: 'swipe';
|
|
66
103
|
locator?: LocatorRecipe;
|
|
@@ -72,6 +109,10 @@ export type PageCommand = {
|
|
|
72
109
|
kind: 'nativeAlert';
|
|
73
110
|
operation: 'accept' | 'dismiss';
|
|
74
111
|
button?: string;
|
|
112
|
+
}
|
|
113
|
+
/** Closes a page the app opened, running its `beforeunload` handlers, and waits for it to go. */
|
|
114
|
+
| {
|
|
115
|
+
kind: 'close';
|
|
75
116
|
} | {
|
|
76
117
|
kind: 'observe';
|
|
77
118
|
locator: LocatorRecipe;
|
|
@@ -81,14 +122,34 @@ export type PageCommand = {
|
|
|
81
122
|
kind: 'observePage';
|
|
82
123
|
after?: ObserveAfter;
|
|
83
124
|
check?: true;
|
|
125
|
+
} | {
|
|
126
|
+
kind: 'observeLayout';
|
|
127
|
+
locator?: LocatorRecipe;
|
|
128
|
+
other?: LocatorRecipe;
|
|
129
|
+
words?: true;
|
|
130
|
+
after?: ObserveAfter;
|
|
131
|
+
check?: true;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Takes a picture of the page's viewport, or of the one element `locator` finds, for `toHaveScreenshot`, and says how
|
|
135
|
+
* it stands against the baseline `name`, counting pixels further apart than `threshold`. `previous` names the look
|
|
136
|
+
* before it in the same check, whose picture this one must match to have settled.
|
|
137
|
+
*/
|
|
138
|
+
| {
|
|
139
|
+
kind: 'observeScreenshot';
|
|
140
|
+
locator?: LocatorRecipe;
|
|
141
|
+
name: string;
|
|
142
|
+
threshold?: number;
|
|
143
|
+
previous?: string;
|
|
144
|
+
check?: true;
|
|
84
145
|
};
|
|
85
146
|
/** What an `observe` waits for first: a change after the page's `changes` count, or `waitMs`, whichever comes first. */
|
|
86
147
|
export type ObserveAfter = {
|
|
87
148
|
changes: number;
|
|
88
149
|
waitMs: number;
|
|
89
150
|
};
|
|
90
|
-
/** The commands that act, as against the
|
|
91
|
-
export type ActionKind = Exclude<PageCommand['kind'], 'observe' | 'observePage'>;
|
|
151
|
+
/** The commands that act, as against the three that only look. */
|
|
152
|
+
export type ActionKind = Exclude<PageCommand['kind'], 'observe' | 'observePage' | 'observeLayout' | 'observeScreenshot'>;
|
|
92
153
|
/** The actions that open a document in the page, as `goto` does, and answer with the address it ended on. */
|
|
93
154
|
export type NavigationKind = Extract<ActionKind, 'goto' | 'reload' | 'goBack' | 'goForward'>;
|
|
94
155
|
/** The kinds of command that open a document. */
|
|
@@ -171,6 +232,31 @@ export type CommandResult = {
|
|
|
171
232
|
changed: boolean;
|
|
172
233
|
via?: 'label';
|
|
173
234
|
page?: PageFacts;
|
|
235
|
+
}
|
|
236
|
+
/** The page closed, so it names no page. */
|
|
237
|
+
| {
|
|
238
|
+
ok: true;
|
|
239
|
+
kind: 'close';
|
|
240
|
+
page?: PageFacts;
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* The files the input's `change` carried, as the browser read them, and in `kept` what the input holds once the page's
|
|
244
|
+
* own listeners ran, when that differs, as when a page clears an input it has read. A page that read nothing back
|
|
245
|
+
* leaves both out.
|
|
246
|
+
*/
|
|
247
|
+
| {
|
|
248
|
+
ok: true;
|
|
249
|
+
kind: 'setInputFiles' | 'setChooserFiles';
|
|
250
|
+
files?: FileRecord[];
|
|
251
|
+
kept?: FileRecord[];
|
|
252
|
+
page?: PageFacts;
|
|
253
|
+
}
|
|
254
|
+
/** A drag that dropped on its target: through mouse events alone, or through the browser's drag events. */
|
|
255
|
+
| {
|
|
256
|
+
ok: true;
|
|
257
|
+
kind: 'dragTo';
|
|
258
|
+
through: DragThrough;
|
|
259
|
+
page?: PageFacts;
|
|
174
260
|
} | {
|
|
175
261
|
ok: true;
|
|
176
262
|
kind: 'observe';
|
|
@@ -190,6 +276,22 @@ export type CommandResult = {
|
|
|
190
276
|
changes?: number;
|
|
191
277
|
waitedMs?: number;
|
|
192
278
|
page?: PageFacts;
|
|
279
|
+
} | {
|
|
280
|
+
ok: true;
|
|
281
|
+
kind: 'observeLayout';
|
|
282
|
+
observation: LayoutLook;
|
|
283
|
+
observationId?: string;
|
|
284
|
+
sessionId?: string;
|
|
285
|
+
changes?: number;
|
|
286
|
+
waitedMs?: number;
|
|
287
|
+
page?: PageFacts;
|
|
288
|
+
} | {
|
|
289
|
+
ok: true;
|
|
290
|
+
kind: 'observeScreenshot';
|
|
291
|
+
observation: ScreenshotLook;
|
|
292
|
+
observationId?: string;
|
|
293
|
+
sessionId?: string;
|
|
294
|
+
page?: PageFacts;
|
|
193
295
|
} | {
|
|
194
296
|
ok: false;
|
|
195
297
|
failure: Failure;
|
|
@@ -200,10 +302,17 @@ export declare const observationSchema: Schema<Observation>;
|
|
|
200
302
|
export declare const pageObservationSchema: Schema<PageObservation>;
|
|
201
303
|
export declare const commandResultSchema: Schema<CommandResult>;
|
|
202
304
|
/**
|
|
203
|
-
* Names a page command the way a test writes it. A `fill` value is never shown; a secret shows its name
|
|
204
|
-
* `press` key or option is cut short, as messages cut any text.
|
|
305
|
+
* Names a page command the way a test writes it. A `fill` value is never shown; a secret shows its name, and a code
|
|
306
|
+
* or a link from an inbox its placeholder. A long `press` key or option is cut short, as messages cut any text.
|
|
205
307
|
*
|
|
206
308
|
* @example describeCommand({ kind: 'click', locator: { by: 'testId', value: 'save-task' } }) // "getByTestId('save-task').click()"
|
|
207
309
|
*/
|
|
208
310
|
export declare function describeCommand(command: PageCommand): string;
|
|
311
|
+
/**
|
|
312
|
+
* Every locator a command names: the one an action or a look acts on, the other element a layout look measures, the
|
|
313
|
+
* element a drag drops on, and the element of each frame either is inside, before it.
|
|
314
|
+
*
|
|
315
|
+
* @example commandLocators({ kind: 'observeLayout', locator: save, other: help }) // [save, help]
|
|
316
|
+
*/
|
|
317
|
+
export declare function commandLocators(command: PageCommand): LocatorRecipe[];
|
|
209
318
|
//# sourceMappingURL=commands.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/protocol/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAwE,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAA;AACvI,OAAO,EAAyE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACpI,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,EAAK,KAAK,MAAM,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/protocol/commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
+
import { describeDragArguments, dragThroughSchema } from "./drag.js";
|
|
1
2
|
import { failureSchema } from "./failures.js";
|
|
3
|
+
import { describeInputFiles, fileRecordSchema, inputFileRecordSchema } from "./files.js";
|
|
4
|
+
import { describeInboxReference, inboxCodeRefSchema, inboxLinkRefSchema } from "./inbox.js";
|
|
5
|
+
import { layoutLookSchema } from "./layout.js";
|
|
2
6
|
import { describeLocator, emptyStepSchema, locatorRecipeSchema, stringLiteral } from "./locator.js";
|
|
3
7
|
import { describeOptionChoice, describeOptionChoices, optionChoiceRecordSchema } from "./option-choices.js";
|
|
4
8
|
import { pageFactsSchema } from "./page-facts.js";
|
|
5
9
|
import { s } from "./schema.js";
|
|
10
|
+
import { screenshotLookSchema } from "./screenshot.js";
|
|
6
11
|
import { describeScrollDelta } from "./scroll-delta.js";
|
|
7
12
|
import { secretRefSchema } from "./secret.js";
|
|
8
13
|
import { shorten } from "./text.js";
|
|
@@ -18,10 +23,10 @@ export function isNavigationKind(kind) {
|
|
|
18
23
|
}
|
|
19
24
|
/** How many matches an observation lists at most. */
|
|
20
25
|
export const observedItemLimit = 100;
|
|
21
|
-
const fillValueSchema = s.union([s.string(), secretRefSchema]);
|
|
26
|
+
const fillValueSchema = s.union([s.string(), secretRefSchema, inboxCodeRefSchema]);
|
|
22
27
|
const after = s.optional(s.object({ changes: s.number({ integer: true, min: 0 }), waitMs: s.number({ integer: true, min: 0 }) }));
|
|
23
28
|
export const pageCommandSchema = s.discriminatedUnion('kind', [
|
|
24
|
-
s.object({ kind: s.literal('goto'), url: s.string() }),
|
|
29
|
+
s.object({ kind: s.literal('goto'), url: s.union([s.string(), inboxLinkRefSchema]) }),
|
|
25
30
|
s.object({ kind: s.literal('reload') }),
|
|
26
31
|
s.object({ kind: s.literal('goBack') }),
|
|
27
32
|
s.object({ kind: s.literal('goForward') }),
|
|
@@ -39,11 +44,31 @@ export const pageCommandSchema = s.discriminatedUnion('kind', [
|
|
|
39
44
|
s.object({ kind: s.literal('check'), locator: locatorRecipeSchema }),
|
|
40
45
|
s.object({ kind: s.literal('uncheck'), locator: locatorRecipeSchema }),
|
|
41
46
|
s.object({ kind: s.literal('scroll'), locator: s.optional(locatorRecipeSchema), x: s.number(), y: s.number() }),
|
|
47
|
+
s.object({ kind: s.literal('setInputFiles'), locator: locatorRecipeSchema, files: s.array(inputFileRecordSchema), list: s.optional(s.literal(true)) }),
|
|
48
|
+
s.object({ kind: s.literal('setChooserFiles'), chooser: s.string(), files: s.array(inputFileRecordSchema), list: s.optional(s.literal(true)) }),
|
|
49
|
+
s.object({ kind: s.literal('dragTo'), locator: locatorRecipeSchema, target: locatorRecipeSchema, steps: s.optional(s.number({ integer: true, min: 1 })) }),
|
|
42
50
|
s.object({ kind: s.literal('swipe'), locator: s.optional(locatorRecipeSchema), direction: s.enum(['up', 'down', 'left', 'right']) }),
|
|
43
51
|
s.object({ kind: s.literal('nativeKeyboard'), operation: s.enum(['dismiss', 'dismissFirstRunCard', 'wait']) }),
|
|
44
52
|
s.object({ kind: s.literal('nativeAlert'), operation: s.enum(['accept', 'dismiss']), button: s.optional(s.string()) }),
|
|
53
|
+
s.object({ kind: s.literal('close') }),
|
|
45
54
|
s.object({ kind: s.literal('observe'), locator: locatorRecipeSchema, after, check: s.optional(s.literal(true)) }),
|
|
46
55
|
s.object({ kind: s.literal('observePage'), after, check: s.optional(s.literal(true)) }),
|
|
56
|
+
s.object({
|
|
57
|
+
kind: s.literal('observeLayout'),
|
|
58
|
+
locator: s.optional(locatorRecipeSchema),
|
|
59
|
+
other: s.optional(locatorRecipeSchema),
|
|
60
|
+
words: s.optional(s.literal(true)),
|
|
61
|
+
after,
|
|
62
|
+
check: s.optional(s.literal(true)),
|
|
63
|
+
}),
|
|
64
|
+
s.object({
|
|
65
|
+
kind: s.literal('observeScreenshot'),
|
|
66
|
+
locator: s.optional(locatorRecipeSchema),
|
|
67
|
+
name: s.string(),
|
|
68
|
+
threshold: s.optional(s.number({ min: 0 })),
|
|
69
|
+
previous: s.optional(s.string()),
|
|
70
|
+
check: s.optional(s.literal(true)),
|
|
71
|
+
}),
|
|
47
72
|
]);
|
|
48
73
|
export const actionKindSchema = s.enum([
|
|
49
74
|
'goto',
|
|
@@ -62,6 +87,10 @@ export const actionKindSchema = s.enum([
|
|
|
62
87
|
'swipe',
|
|
63
88
|
'nativeKeyboard',
|
|
64
89
|
'nativeAlert',
|
|
90
|
+
'close',
|
|
91
|
+
'setInputFiles',
|
|
92
|
+
'setChooserFiles',
|
|
93
|
+
'dragTo',
|
|
65
94
|
]);
|
|
66
95
|
export const observationSchema = s.object({
|
|
67
96
|
count: s.number({ integer: true, min: 0 }),
|
|
@@ -88,6 +117,9 @@ export const commandResultSchema = s.union([
|
|
|
88
117
|
s.object({ ok: s.literal(true), kind: s.enum(['fill', 'click', 'tap', 'hover', 'press', 'scroll', 'swipe', 'nativeKeyboard', 'nativeAlert']), page }),
|
|
89
118
|
s.object({ ok: s.literal(true), kind: s.literal('select'), changed: s.boolean(), page }),
|
|
90
119
|
s.object({ ok: s.literal(true), kind: s.enum(['check', 'uncheck']), changed: s.boolean(), via: s.optional(s.literal('label')), page }),
|
|
120
|
+
s.object({ ok: s.literal(true), kind: s.literal('close'), page }),
|
|
121
|
+
s.object({ ok: s.literal(true), kind: s.enum(['setInputFiles', 'setChooserFiles']), files: s.optional(s.array(fileRecordSchema)), kept: s.optional(s.array(fileRecordSchema)), page }),
|
|
122
|
+
s.object({ ok: s.literal(true), kind: s.literal('dragTo'), through: dragThroughSchema, page }),
|
|
91
123
|
s.object({
|
|
92
124
|
ok: s.literal(true),
|
|
93
125
|
kind: s.literal('observe'),
|
|
@@ -109,18 +141,36 @@ export const commandResultSchema = s.union([
|
|
|
109
141
|
waitedMs: s.optional(s.number({ integer: true, min: 0 })),
|
|
110
142
|
page,
|
|
111
143
|
}),
|
|
144
|
+
s.object({
|
|
145
|
+
ok: s.literal(true),
|
|
146
|
+
kind: s.literal('observeLayout'),
|
|
147
|
+
observation: layoutLookSchema,
|
|
148
|
+
observationId: s.optional(s.string()),
|
|
149
|
+
sessionId: s.optional(s.string()),
|
|
150
|
+
changes: s.optional(s.number({ integer: true, min: 0 })),
|
|
151
|
+
waitedMs: s.optional(s.number({ integer: true, min: 0 })),
|
|
152
|
+
page,
|
|
153
|
+
}),
|
|
154
|
+
s.object({
|
|
155
|
+
ok: s.literal(true),
|
|
156
|
+
kind: s.literal('observeScreenshot'),
|
|
157
|
+
observation: screenshotLookSchema,
|
|
158
|
+
observationId: s.optional(s.string()),
|
|
159
|
+
sessionId: s.optional(s.string()),
|
|
160
|
+
page,
|
|
161
|
+
}),
|
|
112
162
|
s.object({ ok: s.literal(false), failure: failureSchema }),
|
|
113
163
|
]);
|
|
114
164
|
/**
|
|
115
|
-
* Names a page command the way a test writes it. A `fill` value is never shown; a secret shows its name
|
|
116
|
-
* `press` key or option is cut short, as messages cut any text.
|
|
165
|
+
* Names a page command the way a test writes it. A `fill` value is never shown; a secret shows its name, and a code
|
|
166
|
+
* or a link from an inbox its placeholder. A long `press` key or option is cut short, as messages cut any text.
|
|
117
167
|
*
|
|
118
168
|
* @example describeCommand({ kind: 'click', locator: { by: 'testId', value: 'save-task' } }) // "getByTestId('save-task').click()"
|
|
119
169
|
*/
|
|
120
170
|
export function describeCommand(command) {
|
|
121
171
|
switch (command.kind) {
|
|
122
172
|
case 'goto':
|
|
123
|
-
return `page.goto(${JSON.stringify(command.url)})`;
|
|
173
|
+
return `page.goto(${typeof command.url === 'string' ? JSON.stringify(command.url) : describeInboxReference(command.url)})`;
|
|
124
174
|
case 'reload':
|
|
125
175
|
case 'goBack':
|
|
126
176
|
case 'goForward':
|
|
@@ -146,18 +196,47 @@ export function describeCommand(command) {
|
|
|
146
196
|
const target = command.locator === undefined ? 'page' : describeLocator(command.locator);
|
|
147
197
|
return `${target}.scroll(${describeScrollDelta(command)})`;
|
|
148
198
|
}
|
|
199
|
+
case 'setInputFiles':
|
|
200
|
+
return `${describeLocator(command.locator)}.setInputFiles(${describeInputFiles(command.files, command.list === true)})`;
|
|
201
|
+
case 'dragTo':
|
|
202
|
+
return `${describeLocator(command.locator)}.dragTo(${describeDragArguments(command)})`;
|
|
203
|
+
case 'setChooserFiles':
|
|
204
|
+
return `fileChooser.setFiles(${describeInputFiles(command.files, command.list === true)})`;
|
|
149
205
|
case 'swipe':
|
|
150
206
|
return `${command.locator === undefined ? 'page' : describeLocator(command.locator)}.swipe(${stringLiteral(command.direction)})`;
|
|
151
207
|
case 'nativeKeyboard':
|
|
152
208
|
return `page.keyboard.${command.operation}()`;
|
|
153
209
|
case 'nativeAlert':
|
|
154
210
|
return `page.alert.${command.operation}(${command.button === undefined ? '' : stringLiteral(command.button)})`;
|
|
211
|
+
case 'close':
|
|
212
|
+
return 'page.close()';
|
|
155
213
|
case 'observe':
|
|
156
214
|
return `a look at ${describeLocator(command.locator)}`;
|
|
157
215
|
case 'observePage':
|
|
158
216
|
return 'a look at the page';
|
|
217
|
+
case 'observeLayout': {
|
|
218
|
+
const { locator, other } = command;
|
|
219
|
+
if (locator === undefined)
|
|
220
|
+
return "a look at the page's layout";
|
|
221
|
+
return `a look at the layout of ${describeLocator(locator)}${other === undefined ? '' : ` and ${describeLocator(other)}`}`;
|
|
222
|
+
}
|
|
223
|
+
case 'observeScreenshot':
|
|
224
|
+
return command.locator === undefined ? 'a picture of the page' : `a picture of ${describeLocator(command.locator)}`;
|
|
159
225
|
}
|
|
160
226
|
}
|
|
161
227
|
function describeFillValue(value) {
|
|
162
|
-
|
|
228
|
+
if (typeof value === 'string')
|
|
229
|
+
return '';
|
|
230
|
+
return 'secret' in value ? `secret(${JSON.stringify(value.secret)})` : describeInboxReference(value);
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Every locator a command names: the one an action or a look acts on, the other element a layout look measures, the
|
|
234
|
+
* element a drag drops on, and the element of each frame either is inside, before it.
|
|
235
|
+
*
|
|
236
|
+
* @example commandLocators({ kind: 'observeLayout', locator: save, other: help }) // [save, help]
|
|
237
|
+
*/
|
|
238
|
+
export function commandLocators(command) {
|
|
239
|
+
const own = 'locator' in command && command.locator !== undefined ? [command.locator] : [];
|
|
240
|
+
const named = command.kind === 'observeLayout' && command.other !== undefined ? [...own, command.other] : command.kind === 'dragTo' ? [...own, command.target] : own;
|
|
241
|
+
return named.flatMap((locator) => [...(locator.frame ?? []), locator]);
|
|
163
242
|
}
|
|
@@ -159,6 +159,9 @@ export type NetworkResponseRecord = DiagnosticIdentity & NativeNetworkProvenance
|
|
|
159
159
|
serviceWorker?: boolean;
|
|
160
160
|
protocol?: string;
|
|
161
161
|
redirectedTo?: string;
|
|
162
|
+
/** The response was the test's own: a route of the page gave it in the network's place. `route` is its pattern. */
|
|
163
|
+
mocked?: true;
|
|
164
|
+
route?: string;
|
|
162
165
|
};
|
|
163
166
|
/**
|
|
164
167
|
* A hop that finished: for a redirect, when its response arrived. `durationMs` is the browser's own measure from the
|
|
@@ -186,6 +189,13 @@ export type NetworkFailedRecord = DiagnosticIdentity & NativeNetworkProvenance &
|
|
|
186
189
|
reason: string;
|
|
187
190
|
canceled?: true;
|
|
188
191
|
blocked?: string;
|
|
192
|
+
/**
|
|
193
|
+
* The failure was the test's own: a route of the page refused the request. `route` is its pattern, and
|
|
194
|
+
* `routeRefused` Chrome's reason when Chrome refused the route's answer, so Retest failed the request in its place.
|
|
195
|
+
*/
|
|
196
|
+
mocked?: true;
|
|
197
|
+
route?: string;
|
|
198
|
+
routeRefused?: string;
|
|
189
199
|
};
|
|
190
200
|
/**
|
|
191
201
|
* Why a hop's end is not recorded: it was still open when the attempt ended, the run was interrupted, the page crashed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/protocol/diagnostics.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/protocol/diagnostics.ts"],"names":[],"mappings":"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"}
|
|
@@ -149,6 +149,8 @@ const responseShape = {
|
|
|
149
149
|
serviceWorker: s.optional(s.boolean()),
|
|
150
150
|
protocol: s.optional(s.string()),
|
|
151
151
|
redirectedTo: s.optional(s.string()),
|
|
152
|
+
mocked: s.optional(s.literal(true)),
|
|
153
|
+
route: s.optional(s.string()),
|
|
152
154
|
};
|
|
153
155
|
const finishedShape = {
|
|
154
156
|
...nativeNetworkProvenance,
|
|
@@ -169,6 +171,9 @@ const failedShape = {
|
|
|
169
171
|
reason: s.string(),
|
|
170
172
|
canceled: s.optional(s.literal(true)),
|
|
171
173
|
blocked: s.optional(s.string()),
|
|
174
|
+
mocked: s.optional(s.literal(true)),
|
|
175
|
+
route: s.optional(s.string()),
|
|
176
|
+
routeRefused: s.optional(s.string()),
|
|
172
177
|
};
|
|
173
178
|
const pendingShape = {
|
|
174
179
|
...identity,
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { type Failure } from './failures.ts';
|
|
2
|
+
import { type Schema } from './schema.ts';
|
|
3
|
+
/** The kinds of JavaScript dialog a page can open. */
|
|
4
|
+
export type DialogType = 'alert' | 'confirm' | 'prompt' | 'beforeunload';
|
|
5
|
+
export declare const dialogTypes: readonly DialogType[];
|
|
6
|
+
/**
|
|
7
|
+
* A dialog as the test file's process receives it: its id within the attempt, its kind, the text the page showed and a
|
|
8
|
+
* prompt's default, both with every value the run hides replaced. A dialog other than a prompt has an empty default.
|
|
9
|
+
*/
|
|
10
|
+
export type DialogRecord = {
|
|
11
|
+
id: string;
|
|
12
|
+
type: DialogType;
|
|
13
|
+
message: string;
|
|
14
|
+
defaultValue: string;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* What a test asks of an app's page about dialogs: to wait for the next one, to stop a wait whose action failed before
|
|
18
|
+
* any dialog opened, naming the wait by its id, or to answer a dialog it was given, with the text a prompt takes.
|
|
19
|
+
*/
|
|
20
|
+
export type DialogRequest = {
|
|
21
|
+
kind: 'wait';
|
|
22
|
+
} | {
|
|
23
|
+
kind: 'stop';
|
|
24
|
+
wait: number;
|
|
25
|
+
} | {
|
|
26
|
+
kind: 'answer';
|
|
27
|
+
dialog: string;
|
|
28
|
+
accept: boolean;
|
|
29
|
+
promptText?: string;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* The parent's answers. A wait is first `armed`, once the page hands its next dialog to the test, then `opened` with that
|
|
33
|
+
* dialog, or `failed` at either point. A stop is `stopped`, and an answer `answered` or `failed`.
|
|
34
|
+
*/
|
|
35
|
+
export type DialogAnswer = {
|
|
36
|
+
kind: 'armed';
|
|
37
|
+
} | {
|
|
38
|
+
kind: 'opened';
|
|
39
|
+
dialog: DialogRecord;
|
|
40
|
+
} | {
|
|
41
|
+
kind: 'stopped';
|
|
42
|
+
} | {
|
|
43
|
+
kind: 'answered';
|
|
44
|
+
} | {
|
|
45
|
+
kind: 'failed';
|
|
46
|
+
failure: Failure;
|
|
47
|
+
};
|
|
48
|
+
/** How a dialog was answered: accepted or dismissed. */
|
|
49
|
+
export type DialogAnswered = 'accepted' | 'dismissed';
|
|
50
|
+
/** How many code units of a dialog's text an event records, as a title is cut. */
|
|
51
|
+
export declare const dialogTextLimit = 300;
|
|
52
|
+
export declare const dialogTypeSchema: Schema<DialogType>;
|
|
53
|
+
export declare const dialogRecordSchema: Schema<DialogRecord>;
|
|
54
|
+
export declare const dialogRequestSchema: Schema<DialogRequest>;
|
|
55
|
+
export declare const dialogAnswerSchema: Schema<DialogAnswer>;
|
|
56
|
+
/**
|
|
57
|
+
* Whether a value names a kind of dialog, as Chrome's `Page.javascriptDialogOpening` reports it.
|
|
58
|
+
*
|
|
59
|
+
* @example isDialogType('confirm') // true
|
|
60
|
+
*/
|
|
61
|
+
export declare function isDialogType(value: string): value is DialogType;
|
|
62
|
+
/**
|
|
63
|
+
* Who reads a dialog's sentence: a test, which can wrap an action in `page.dialog()`, or an agent session, which cannot
|
|
64
|
+
* and is told what Retest answered instead.
|
|
65
|
+
*/
|
|
66
|
+
export type DialogReader = 'test' | 'agent';
|
|
67
|
+
/** A dialog Retest answered itself because nothing waited for it, as a failure's sentence names it. */
|
|
68
|
+
export type UnwaitedDialogParts = {
|
|
69
|
+
type: DialogType;
|
|
70
|
+
/** The text the page showed, as a sentence may quote it: redacted, or left out where it cannot be. */
|
|
71
|
+
text?: string | undefined;
|
|
72
|
+
answered: DialogAnswered;
|
|
73
|
+
/** The command that was running, as a failure names it, such as "click getByTestId('delete')"; none when idle. */
|
|
74
|
+
command?: string | undefined;
|
|
75
|
+
/** The dialog came from a page this page opened while nothing waited for it. */
|
|
76
|
+
popup?: boolean | undefined;
|
|
77
|
+
/** Who reads the sentence; a test unless named. */
|
|
78
|
+
reader?: DialogReader | undefined;
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* The sentence for a dialog nobody waited for, when it is the whole failure of the command that ran meanwhile: its kind
|
|
82
|
+
* and text, what was running, how Retest answered it, and, for a test, how to answer it. A `beforeunload` dialog is
|
|
83
|
+
* accepted, so the navigation the test asked for happens.
|
|
84
|
+
*
|
|
85
|
+
* @example unwaitedDialogMessage({ type: 'confirm', text: 'Delete?', answered: 'dismissed', command: "click getByTestId('delete')" })
|
|
86
|
+
*/
|
|
87
|
+
export declare function unwaitedDialogMessage(parts: UnwaitedDialogParts): string;
|
|
88
|
+
/**
|
|
89
|
+
* The sentence for a dialog nobody waited for, when the command that ran meanwhile failed of its own accord: it follows
|
|
90
|
+
* that command's own message and names the dialog and Retest's answer.
|
|
91
|
+
*
|
|
92
|
+
* @example unwaitedDialogSentence({ type: 'alert', text: 'Saved', answered: 'dismissed' }) // 'The page also opened an alert dialog that says "Saved", and Retest dismissed it.'
|
|
93
|
+
*/
|
|
94
|
+
export declare function unwaitedDialogSentence(parts: UnwaitedDialogParts): string;
|
|
95
|
+
/**
|
|
96
|
+
* A failure that names a dialog Retest answered, in words for its reader, with the dialog's text quoted once `redact` has
|
|
97
|
+
* hidden every value in it. The page gives that text apart, in `details.dialogMessage`, and a failure whose `details`
|
|
98
|
+
* name the command was the dialog's alone; any other is the command's own, with the dialog's sentence after it. Any
|
|
99
|
+
* other failure is given back as it is.
|
|
100
|
+
*
|
|
101
|
+
* @example withDialogWords(failure, (text) => redactor.redact(text), 'agent')
|
|
102
|
+
*/
|
|
103
|
+
export declare function withDialogWords(failure: Failure, redact: (text: string) => string, reader?: DialogReader): Failure;
|
|
104
|
+
//# sourceMappingURL=dialogs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialogs.d.ts","sourceRoot":"","sources":["../../src/protocol/dialogs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAK,KAAK,MAAM,EAAE,MAAM,aAAa,CAAA;AAG5C,sDAAsD;AACtD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,cAAc,CAAA;AAExE,eAAO,MAAM,WAAW,EAAE,SAAS,UAAU,EAAmD,CAAA;AAEhG;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAA;AAElG;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAExJ;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAA;AAE3K,wDAAwD;AACxD,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,WAAW,CAAA;AAErD,kFAAkF;AAClF,eAAO,MAAM,eAAe,MAAM,CAAA;AAElC,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAA0D,CAAA;AAE1G,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,YAAY,CAAuG,CAAA;AAE3J,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,aAAa,CAIpD,CAAA;AAEF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,YAAY,CAMlD,CAAA;AAEF;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,UAAU,CAE/D;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,CAAA;AAE3C,uGAAuG;AACvG,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,UAAU,CAAA;IAChB,sGAAsG;IACtG,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,QAAQ,EAAE,cAAc,CAAA;IACxB,kHAAkH;IAClH,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,gFAAgF;IAChF,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC3B,mDAAmD;IACnD,MAAM,CAAC,EAAE,YAAY,GAAG,SAAS,CAAA;CAClC,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CASxE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAKzE;AASD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EAAE,MAAM,GAAE,YAAqB,GAAG,OAAO,CAe1H"}
|