Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Enable snapshots for most remaining public commands #34072

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

agg23
Copy link
Contributor

@agg23 agg23 commented Dec 18, 2024

Enable capturing snapshots on commands that have any visual component or interaction with the DOM. This is an interim solution to #33934. In the future we will display stale snapshots on trace entries that do not contain a snapshot.

This comment has been minimized.

Copy link
Member

@pavelfeldman pavelfeldman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, but make sure you fix those tests before landing/

@pavelfeldman
Copy link
Member

As this closes the issue for count(), having a test that checks that count() has gotten a snapshot would be nice as well.

@agg23 agg23 force-pushed the more-snapshot-commands branch from 20e90e5 to 0ac3a8b Compare January 8, 2025 18:58

This comment has been minimized.

This comment has been minimized.

@agg23 agg23 added the CQ1 label Jan 9, 2025
Copy link
Contributor

github-actions bot commented Jan 9, 2025

Test results for "tests others"

1 flaky ⚠️ [electron-api] › tests/electron/electron-app.spec.ts:55:5 › should fire close event when the app quits itself @electron-macos-latest

21465 passed, 503 skipped
✔️✔️✔️

Merge workflow run.

Copy link
Contributor

github-actions bot commented Jan 9, 2025

Test results for "tests 1"

9 flaky ⚠️ [firefox-page] › tests/page/page-evaluate.spec.ts:403:3 › should throw for too deep reference chain @firefox-ubuntu-22.04-node18
⚠️ [installation tests] › tests/playwright-electron-should-work.spec.ts:31:5 › electron should work with special characters in path @package-installations-macos-latest
⚠️ [playwright-test] › tests/ui-mode-trace.spec.ts:341:5 › should work behind reverse proxy @ubuntu-latest-node22-1
⚠️ [webkit-library] › tests/library/browsercontext-clearcookies.spec.ts:92:3 › should remove cookies by domain @webkit-ubuntu-22.04-node18
⚠️ [webkit-library] › tests/library/browsercontext-clearcookies.spec.ts:146:3 › should remove cookies by name and domain @webkit-ubuntu-22.04-node18
⚠️ [webkit-library] › tests/library/browsercontext-har.spec.ts:487:3 › should update extracted har.zip for page @webkit-ubuntu-22.04-node18
⚠️ [webkit-library] › tests/library/defaultbrowsercontext-2.spec.ts:98:3 › should restore state from userDataDir @webkit-ubuntu-22.04-node18
⚠️ [webkit-library] › tests/library/trace-viewer.spec.ts:199:1 › should render console @webkit-ubuntu-22.04-node18
⚠️ [webkit-library] › tests/library/trace-viewer.spec.ts:1385:1 › should show similar actions from library-only trace @webkit-ubuntu-22.04-node18

37548 passed, 648 skipped
✔️✔️✔️

Merge workflow run.

Copy link
Contributor

github-actions bot commented Jan 9, 2025

Test results for "tests 2"

3 fatal errors, not part of any test
10 failed
❌ [chromium-library] › tests/library/trace-viewer.spec.ts:1551:1 › canvas clipping in iframe @channel-chromium-windows-latest
❌ [chromium-library] › tests/library/browsertype-connect.spec.ts:492:5 › run-server › should saveAs videos from remote browser @chrome-beta-macos-latest
❌ [chromium-library] › tests/library/browsertype-connect.spec.ts:667:5 › run-server › should fulfill with global fetch result @chrome-beta-macos-latest
❌ [chromium-library] › tests/library/inspector/cli-codegen-2.spec.ts:456:7 › cli codegen › should --save-trace @chrome-beta-macos-latest
❌ [chromium-library] › tests/library/inspector/cli-codegen-2.spec.ts:466:7 › cli codegen › should save assets via SIGINT @chrome-beta-macos-latest
❌ [chromium-library] › tests/library/browsertype-connect.spec.ts:383:5 › run-server › should emit close events on pages and contexts @chrome-macos-latest
❌ [chromium-library] › tests/library/inspector/cli-codegen-2.spec.ts:456:7 › cli codegen › should --save-trace @msedge-beta-macos-latest
❌ [webkit-library] › tests/library/trace-viewer.spec.ts:1598:1 › should show a popover @webkit-macos-13-large
❌ [webkit-library] › tests/library/trace-viewer.spec.ts:1598:1 › should show a popover @webkit-macos-13-xlarge
❌ [webkit-library] › tests/library/tracing.spec.ts:432:14 › should produce screencast frames crop @webkit-macos-13-xlarge

115 flaky ⚠️ [chromium-library] › tests/library/browser.spec.ts:54:5 › should dispatch page.on(close) upon browser.close and reject evaluate @channel-chromium-macos-latest
⚠️ [chromium-library] › tests/library/browsercontext-base-url.spec.ts:37:3 › should construct a new URL when a baseURL in browserType.launchPersistentContext is passed to page.goto @channel-chromium-macos-latest
⚠️ [chromium-library] › tests/library/browsercontext-fetch.spec.ts:1229:3 › should work with connectOverCDP @channel-chromium-macos-latest
⚠️ [chromium-library] › tests/library/browsertype-launch-server.spec.ts:57:5 › launch server › should default to random wsPath @channel-chromium-macos-latest
⚠️ [chromium-library] › tests/library/chromium/chromium.spec.ts:151:15 › should close service worker together with the context @channel-chromium-macos-latest
⚠️ [chromium-library] › tests/library/fetch-proxy.spec.ts:21:3 › context request should pick up proxy credentials @channel-chromium-macos-latest
⚠️ [chromium-library] › tests/library/video.spec.ts:381:5 › screencast › should capture navigation @channel-chromium-macos-latest
⚠️ [chromium-library] › tests/library/inspector/cli-codegen-pick-locator.spec.ts:36:7 › should update locator highlight @channel-chromium-windows-latest
⚠️ [chromium-library] › tests/library/video.spec.ts:381:5 › screencast › should capture navigation @channel-chromium-windows-latest
⚠️ [chromium-library] › tests/library/browser.spec.ts:54:5 › should dispatch page.on(close) upon browser.close and reject evaluate @chrome-beta-macos-latest
⚠️ [chromium-library] › tests/library/browsercontext-base-url.spec.ts:37:3 › should construct a new URL when a baseURL in browserType.launchPersistentContext is passed to page.goto @chrome-beta-macos-latest
⚠️ [chromium-library] › tests/library/browsercontext-fetch.spec.ts:1229:3 › should work with connectOverCDP @chrome-beta-macos-latest
⚠️ [chromium-library] › tests/library/inspector/cli-codegen-test.spec.ts:88:5 › should not generate recordHAR with --save-har @chrome-beta-macos-latest
⚠️ [chromium-library] › tests/library/signals.spec.ts:78:7 › signals › should close the browser on SIGINT @chrome-beta-macos-latest
⚠️ [chromium-library] › tests/library/browsercontext-base-url.spec.ts:37:3 › should construct a new URL when a baseURL in browserType.launchPersistentContext is passed to page.goto @chrome-macos-latest
⚠️ [chromium-library] › tests/library/browsertype-connect.spec.ts:343:5 › launchServer › should throw when calling waitForNavigation after disconnect @chrome-macos-latest
⚠️ [chromium-library] › tests/library/browsertype-connect.spec.ts:397:5 › run-server › should terminate network waiters @chrome-macos-latest
⚠️ [chromium-library] › tests/library/browsertype-launch-server.spec.ts:57:5 › launch server › should default to random wsPath @chrome-macos-latest
⚠️ [chromium-library] › tests/library/chromium/connect-over-cdp.spec.ts:89:5 › should connectOverCDP and manage downloads in default context @chrome-macos-latest
⚠️ [chromium-library] › tests/library/chromium/connect-over-cdp.spec.ts:180:5 › should connect to existing service workers @chrome-macos-latest
⚠️ [chromium-library] › tests/library/inspector/cli-codegen-2.spec.ts:456:7 › cli codegen › should --save-trace @chrome-macos-latest
⚠️ [chromium-library] › tests/library/logger.spec.ts:19:3 › should log @smoke @chrome-macos-latest
⚠️ [chromium-library] › tests/library/trace-viewer.spec.ts:1017:1 › should open two trace files of the same test @chrome-windows-latest
⚠️ [chromium-library] › tests/library/video.spec.ts:581:5 › screencast › should capture static page in persistent context @smoke @chrome-windows-latest
⚠️ [chromium-library] › tests/library/inspector/pause.spec.ts:529:5 › pause › should record from debugger @chromium-headed-ubuntu-24.04
⚠️ [chromium-library] › tests/library/selector-generator.spec.ts:536:5 › selector generator › should generate relative selector @chromium-headed-windows-latest
⚠️ [chromium-library] › tests/library/video.spec.ts:381:5 › screencast › should capture navigation @chromium-macos-14-xlarge
⚠️ [chromium-library] › tests/library/video.spec.ts:381:5 › screencast › should capture navigation @chromium-tip-of-tree-macos-13
⚠️ [chromium-library] › tests/library/inspector/cli-codegen-1.spec.ts:24:7 › cli codegen › should click @chromium-tip-of-tree-ubuntu-20.04
⚠️ [chromium-library] › tests/library/trace-viewer.spec.ts:1551:1 › canvas clipping in iframe @chromium-tip-of-tree-windows-latest
⚠️ [firefox-page] › tests/page/page-evaluate.spec.ts:403:3 › should throw for too deep reference chain @firefox-beta-ubuntu-20.04
⚠️ [firefox-page] › tests/page/page-event-request.spec.ts:169:3 › should return response body when Cross-Origin-Opener-Policy is set @firefox-beta-ubuntu-20.04
⚠️ [firefox-page] › tests/page/page-request-continue.spec.ts:291:3 › should work with Cross-Origin-Opener-Policy @firefox-beta-ubuntu-20.04
⚠️ [firefox-library] › tests/library/trace-viewer.spec.ts:1551:1 › canvas clipping in iframe @firefox-beta-windows-latest
⚠️ [firefox-page] › tests/page/page-evaluate.spec.ts:403:3 › should throw for too deep reference chain @firefox-beta-windows-latest
⚠️ [firefox-library] › tests/library/capabilities.spec.ts:252:3 › requestFullscreen @firefox-headed-macos-14-xlarge
⚠️ [firefox-library] › tests/library/inspector/cli-codegen-aria.spec.ts:77:7 › should update aria snapshot highlight @firefox-headed-macos-14-xlarge
⚠️ [firefox-library] › tests/library/video.spec.ts:381:5 › screencast › should capture navigation @firefox-headed-macos-14-xlarge
⚠️ [firefox-library] › tests/library/browsercontext-basic.spec.ts:34:3 › should be able to click across browser contexts @firefox-headed-ubuntu-24.04
⚠️ [firefox-page] › tests/page/page-evaluate.spec.ts:403:3 › should throw for too deep reference chain @firefox-headed-ubuntu-24.04
⚠️ [firefox-library] › tests/library/browsercontext-cookies.spec.ts:324:3 › should be able to send third party cookies via an iframe @firefox-headed-windows-latest
⚠️ [firefox-library] › tests/library/browsercontext-har.spec.ts:244:3 › should round-trip har.zip @firefox-headed-windows-latest
⚠️ [firefox-library] › tests/library/inspector/cli-codegen-3.spec.ts:171:7 › cli codegen › should generate frame locators (4) @firefox-headed-windows-latest
⚠️ [firefox-library] › tests/library/inspector/cli-codegen-3.spec.ts:616:7 › cli codegen › should consume contextmenu events, despite a custom context menu @firefox-headed-windows-latest
⚠️ [firefox-library] › tests/library/tracing.spec.ts:263:5 › should not include trace resources from the previous chunks @firefox-headed-windows-latest
⚠️ [firefox-library] › tests/library/video.spec.ts:287:5 › screencast › should delete video @firefox-headed-windows-latest
⚠️ [firefox-page] › tests/page/page-evaluate.spec.ts:403:3 › should throw for too deep reference chain @firefox-headed-windows-latest
⚠️ [firefox-page] › tests/page/page-evaluate.spec.ts:403:3 › should throw for too deep reference chain @firefox-macos-13-large
⚠️ [firefox-library] › tests/library/tracing.spec.ts:432:14 › should produce screencast frames crop @firefox-macos-13-xlarge
⚠️ [firefox-page] › tests/page/page-evaluate.spec.ts:403:3 › should throw for too deep reference chain @firefox-macos-14-large
⚠️ [firefox-library] › tests/library/tracing.spec.ts:432:14 › should produce screencast frames fit @firefox-macos-14-xlarge
⚠️ [firefox-library] › tests/library/inspector/cli-codegen-aria.spec.ts:77:7 › should update aria snapshot highlight @firefox-ubuntu-20.04
⚠️ [firefox-page] › tests/page/page-evaluate.spec.ts:403:3 › should throw for too deep reference chain @firefox-ubuntu-20.04
⚠️ [firefox-page] › tests/page/page-evaluate.spec.ts:403:3 › should throw for too deep reference chain @firefox-ubuntu-24.04
⚠️ [firefox-page] › tests/page/page-evaluate.spec.ts:403:3 › should throw for too deep reference chain @firefox-windows-latest
⚠️ [chromium-library] › tests/library/beforeunload.spec.ts:20:3 › should close browser with beforeunload page @msedge-beta-macos-latest
⚠️ [chromium-library] › tests/library/browsercontext-proxy.spec.ts:27:3 › should work when passing the proxy only on the context level @msedge-beta-macos-latest
⚠️ [chromium-library] › tests/library/browsercontext-reuse.spec.ts:30:1 › should re-add binding after reset @msedge-beta-macos-latest
⚠️ [chromium-library] › tests/library/chromium/connect-over-cdp.spec.ts:412:5 › should use proxy with connectOverCDP @msedge-beta-macos-latest
⚠️ [chromium-library] › tests/library/chromium/launcher.spec.ts:28:3 › should not throw with remote-debugging-port argument @msedge-beta-macos-latest
⚠️ [chromium-library] › tests/library/inspector/cli-codegen-2.spec.ts:466:7 › cli codegen › should save assets via SIGINT @msedge-beta-macos-latest
⚠️ [chromium-library] › tests/library/browsercontext-reuse.spec.ts:30:1 › should re-add binding after reset @msedge-beta-ubuntu-20.04
⚠️ [chromium-library] › tests/library/browsercontext-proxy.spec.ts:215:3 › should throw for socks5 authentication @msedge-beta-windows-latest
⚠️ [chromium-library] › tests/library/browsercontext-proxy.spec.ts:264:3 › should isolate proxy credentials between contexts @msedge-beta-windows-latest
⚠️ [chromium-library] › tests/library/browsercontext-reuse.spec.ts:30:1 › should re-add binding after reset @msedge-beta-windows-latest
⚠️ [chromium-library] › tests/library/inspector/cli-codegen-1.spec.ts:24:7 › cli codegen › should click @msedge-beta-windows-latest
⚠️ [chromium-library] › tests/library/inspector/cli-codegen-2.spec.ts:25:7 › cli codegen › should contain open page @msedge-beta-windows-latest
⚠️ [chromium-library] › tests/library/beforeunload.spec.ts:20:3 › should close browser with beforeunload page @msedge-dev-macos-latest
⚠️ [chromium-library] › tests/library/browsercontext-base-url.spec.ts:37:3 › should construct a new URL when a baseURL in browserType.launchPersistentContext is passed to page.goto @msedge-dev-macos-latest
⚠️ [chromium-library] › tests/library/browsertype-launch-server.spec.ts:50:5 › launch server › should work when wsPath is missing leading slash @msedge-dev-macos-latest
⚠️ [chromium-library] › tests/library/downloads-path.spec.ts:91:5 › downloads path › should accept downloads in persistent context @msedge-dev-macos-latest
⚠️ [chromium-library] › tests/library/inspector/cli-codegen-2.spec.ts:456:7 › cli codegen › should --save-trace @msedge-dev-macos-latest
⚠️ [chromium-library] › tests/library/inspector/cli-codegen-2.spec.ts:466:7 › cli codegen › should save assets via SIGINT @msedge-dev-macos-latest
⚠️ [chromium-library] › tests/library/browsercontext-reuse.spec.ts:30:1 › should re-add binding after reset @msedge-dev-ubuntu-20.04
⚠️ [chromium-library] › tests/library/browsercontext-reuse.spec.ts:30:1 › should re-add binding after reset @msedge-dev-windows-latest
⚠️ [chromium-library] › tests/library/browsercontext-fetch.spec.ts:1229:3 › should work with connectOverCDP @msedge-macos-latest
⚠️ [chromium-library] › tests/library/browsercontext-reuse.spec.ts:30:1 › should re-add binding after reset @msedge-macos-latest
⚠️ [chromium-library] › tests/library/browsercontext-reuse.spec.ts:206:1 › should reset mouse position @msedge-macos-latest
⚠️ [chromium-library] › tests/library/browsertype-connect.spec.ts:343:5 › launchServer › should throw when calling waitForNavigation after disconnect @msedge-macos-latest
⚠️ [chromium-library] › tests/library/browsertype-launch.spec.ts:115:3 › should fire close event for all contexts @msedge-macos-latest
⚠️ [chromium-library] › tests/library/chromium/connect-over-cdp.spec.ts:43:5 › should use logger in default context @msedge-macos-latest
⚠️ [chromium-library] › tests/library/downloads-path.spec.ts:77:5 › downloads path › should report downloads in downloadsPath folder with a relative path @msedge-macos-latest
⚠️ [chromium-library] › tests/library/fetch-proxy.spec.ts:21:3 › context request should pick up proxy credentials @msedge-macos-latest
⚠️ [chromium-library] › tests/library/inspector/cli-codegen-2.spec.ts:456:7 › cli codegen › should --save-trace @msedge-macos-latest
⚠️ [chromium-library] › tests/library/inspector/cli-codegen-javascript.spec.ts:87:5 › should save the codegen output to a file if specified @msedge-macos-latest
⚠️ [chromium-library] › tests/library/proxy.spec.ts:31:3 › should use proxy @smoke @msedge-macos-latest
⚠️ [chromium-library] › tests/library/browsercontext-reuse.spec.ts:30:1 › should re-add binding after reset @msedge-ubuntu-20.04
⚠️ [chromium-library] › tests/library/browsercontext-proxy.spec.ts:247:3 › should authenticate with empty password @msedge-windows-latest
⚠️ [chromium-library] › tests/library/browsercontext-proxy.spec.ts:294:3 › should exclude patterns @msedge-windows-latest
⚠️ [chromium-library] › tests/library/browsercontext-reuse.spec.ts:30:1 › should re-add binding after reset @msedge-windows-latest
⚠️ [chromium-library] › tests/library/video.spec.ts:381:5 › screencast › should capture navigation @tracing-chromium-tip-of-tree
⚠️ [firefox-page] › tests/page/page-evaluate.spec.ts:403:3 › should throw for too deep reference chain @tracing-firefox
⚠️ [webkit-library] › tests/library/inspector/cli-codegen-1.spec.ts:611:7 › cli codegen › should select @webkit-headed-macos-14-xlarge
⚠️ [webkit-library] › tests/library/tracing.spec.ts:432:14 › should produce screencast frames crop @webkit-headed-macos-14-xlarge
⚠️ [webkit-library] › tests/library/inspector/cli-codegen-3.spec.ts:616:7 › cli codegen › should consume contextmenu events, despite a custom context menu @webkit-headed-ubuntu-20.04
⚠️ [webkit-library] › tests/library/popup.spec.ts:115:3 › should inherit viewport size from browser context @webkit-headed-ubuntu-20.04
⚠️ [webkit-library] › tests/library/inspector/cli-codegen-3.spec.ts:171:7 › cli codegen › should generate frame locators (4) @webkit-headed-ubuntu-22.04
⚠️ [webkit-library] › tests/library/inspector/cli-codegen-3.spec.ts:758:7 › cli codegen › should assert value on disabled select @webkit-headed-ubuntu-22.04
⚠️ [webkit-library] › tests/library/inspector/cli-codegen-3.spec.ts:779:7 › cli codegen › should assert visibility @webkit-headed-ubuntu-22.04
⚠️ [webkit-page] › tests/page/elementhandle-misc.spec.ts:20:3 › should hover @webkit-headed-ubuntu-24.04
⚠️ [webkit-library] › tests/library/inspector/cli-codegen-1.spec.ts:97:7 › cli codegen › should ignore programmatic events @webkit-headed-windows-latest
⚠️ [webkit-library] › tests/library/inspector/cli-codegen-2.spec.ts:249:7 › cli codegen › should handle dialogs @webkit-headed-windows-latest
⚠️ [webkit-library] › tests/library/inspector/cli-codegen-3.spec.ts:61:7 › cli codegen › should click locator.nth @webkit-headed-windows-latest
⚠️ [webkit-library] › tests/library/inspector/cli-codegen-3.spec.ts:779:7 › cli codegen › should assert visibility @webkit-headed-windows-latest
⚠️ [webkit-library] › tests/library/inspector/cli-codegen-pick-locator.spec.ts:36:7 › should update locator highlight @webkit-headed-windows-latest
⚠️ [webkit-library] › tests/library/trace-viewer.spec.ts:1221:1 › should pick locator in iframe @webkit-macos-13-large
⚠️ [webkit-library] › tests/library/tracing.spec.ts:432:14 › should produce screencast frames scale @webkit-macos-13-xlarge
⚠️ [webkit-page] › tests/page/page-request-fallback.spec.ts:239:5 › post data › should amend binary post data @webkit-macos-14-large
⚠️ [webkit-library] › tests/library/trace-viewer.spec.ts:1534:1 › canvas clipping @webkit-macos-14-xlarge
⚠️ [webkit-library] › tests/library/tracing.spec.ts:432:14 › should produce screencast frames crop @webkit-macos-14-xlarge
⚠️ [webkit-library] › tests/library/tracing.spec.ts:432:14 › should produce screencast frames scale @webkit-macos-14-xlarge
⚠️ [webkit-library] › tests/library/tracing.spec.ts:432:14 › should produce screencast frames crop @webkit-macos-15-xlarge
⚠️ [webkit-library] › tests/library/tracing.spec.ts:432:14 › should produce screencast frames scale @webkit-macos-15-xlarge
⚠️ [webkit-page] › tests/page/page-request-continue.spec.ts:241:5 › post data › should amend longer post data @webkit-macos-15-xlarge
⚠️ [webkit-library] › tests/library/browsercontext-viewport-mobile.spec.ts:206:5 › mobile viewport › view scale should reset after navigation @webkit-ubuntu-20.04

265324 passed, 10082 skipped
✔️✔️✔️

Merge workflow run.

@agg23 agg23 requested a review from pavelfeldman January 9, 2025 19:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants