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

Try running audio/video tests on more browsers and platforms #30437

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

Conversation

stephenwade
Copy link
Contributor

@stephenwade stephenwade commented Apr 19, 2024

I'm trying to debug a Playwright issue with AudioContext on Windows runners (will file a separate issue if I can't figure it out), and I'm interested to see if Playwright's audio/video tests now work on all platforms and browsers.

This PR removes some it.fixme annotations from the audio/video tests in capabilities.spec.ts. All the it.fixme lines I removed were added more than a year ago, and all the linked issues look like they are resolved.

Related: #30410

@stephenwade stephenwade changed the title Try running audio/video tests everywhere Try running audio/video tests on all browsers and platforms Apr 19, 2024
@stephenwade
Copy link
Contributor Author

@microsoft-github-policy-service agree

This comment has been minimized.

@stephenwade stephenwade changed the title Try running audio/video tests on all browsers and platforms Try running audio/video tests on more browsers and platforms Apr 20, 2024
@stephenwade
Copy link
Contributor Author

cc @mxschmitt I think this needs a tag to run the affected tests.

This comment has been minimized.

@mxschmitt mxschmitt added the CQ1 label Apr 20, 2024
@mxschmitt
Copy link
Member

Done!

This comment has been minimized.

This comment has been minimized.

@stephenwade
Copy link
Contributor Author

@mxschmitt Looks like "tests 2" didn't run when I pushed another commit, and the Installation Test needs to be re-run. Could you help?

@mxschmitt mxschmitt added CQ1 and removed CQ1 labels Apr 22, 2024

This comment has been minimized.

@stephenwade
Copy link
Contributor Author

@mxschmitt Looks like the "should play audio" and "should play video" tests are flaky on macos-12. This lines up with what I found while testing audio playback on GitHub Actions - for some reason, they work on macos-11, macos-13, and macos-14 but work only about half the time on macos-12. What do you think about skipping these tests on that macOS version?

@stephenwade
Copy link
Contributor Author

Hey @mxschmitt, just following up on this. I pushed a commit to skip the "should play audio" and "should play video" tests on Webkit on macos-12, since that's where I have observed flakiness. Please re-add the label to re-run the tests 😀

Copy link
Contributor

Test results for "tests 1"

1 flaky ⚠️ [playwright-test] › ui-mode-test-progress.spec.ts:165:5 › should update tracing network live

27249 passed, 670 skipped
✔️✔️✔️

Merge workflow run.

@@ -84,8 +83,7 @@ it('should play video @smoke', async ({ page, asset, browserName, platform, mode
});

it('should play webm video @smoke', async ({ page, asset, browserName, platform, mode }) => {
it.fixme(browserName === 'webkit' && platform === 'darwin' && parseInt(os.release(), 10) === 20, 'Does not work on BigSur');
it.fixme(browserName === 'webkit' && platform === 'win32');
it.fixme(browserName === 'webkit' && platform !== 'darwin');
Copy link
Member

Choose a reason for hiding this comment

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

so this means it doesn't work on linux?

it.fixme(browserName === 'firefox' && platform === 'win32', 'https://github.com/microsoft/playwright/issues/10887');
it.fixme(browserName === 'firefox' && platform === 'linux', 'https://github.com/microsoft/playwright/issues/10887');
it.fixme(browserName === 'webkit' && platform === 'win32', 'https://github.com/microsoft/playwright/issues/10892');
it.fixme(browserName === 'webkit' && platform !== 'darwin');
Copy link
Member

Choose a reason for hiding this comment

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

it wasn't fixme on linux before?

lets try to stick with === rather than !== I think thats easier to read.

@mxschmitt mxschmitt added CQ1 and removed CQ1 labels May 8, 2024
@mxschmitt
Copy link
Member

mxschmitt commented May 8, 2024

Re-triggered the bot. Also landed this #30634 which should make things simpler (I think it doesn't work for macOS 12 / maybe 13 but does a good job for 14).

Copy link
Contributor

github-actions bot commented May 8, 2024

Test results for "tests 2"

6 fatal errors, not part of any test
3 failed
❌ [firefox-library] › library/inspector/cli-codegen-2.spec.ts:340:7 › cli codegen › should record open in a new tab with url
❌ [firefox-library] › library/inspector/cli-codegen-2.spec.ts:340:7 › cli codegen › should record open in a new tab with url
❌ [firefox-library] › library/inspector/cli-codegen-2.spec.ts:340:7 › cli codegen › should record open in a new tab with url

48 flaky ⚠️ [chromium-library] › library/inspector/cli-codegen-1.spec.ts:23:7 › cli codegen › should click
⚠️ [chromium-page] › page/page-drag.spec.ts:34:5 › Drag and drop › should send the right events
⚠️ [chromium-page] › page/page-mouse.spec.ts:166:3 › should trigger hover state
⚠️ [chromium-library] › library/browsercontext-viewport.spec.ts:143:12 › should drag with high dpi
⚠️ [chromium-page] › page/page-drag.spec.ts:25:5 › Drag and drop › should work @smoke
⚠️ [chromium-library] › library/selector-generator.spec.ts:406:5 › selector generator › should work without CSS.escape
⚠️ [chromium-library] › library/trace-viewer.spec.ts:893:1 › should display waitForLoadState even if did not wait for it
⚠️ [chromium-page] › page/page-leaks.spec.ts:153:5 › waitFor should not leak
⚠️ [firefox-page] › page/page-click.spec.ts:850:3 › should not hang when frame is detached
⚠️ [firefox-library] › library/capabilities.spec.ts:258:3 › requestFullscreen
⚠️ [firefox-library] › library/trace-viewer.spec.ts:893:1 › should display waitForLoadState even if did not wait for it
⚠️ [firefox-library] › library/video.spec.ts:351:5 › screencast › should capture navigation
⚠️ [firefox-library] › library/inspector/cli-codegen-1.spec.ts:159:7 › cli codegen › should work with TrustedTypes
⚠️ [firefox-library] › library/tap.spec.ts:23:3 › should send all of the correct events @smoke
⚠️ [firefox-library] › library/video.spec.ts:165:5 › screencast › should work with old options
⚠️ [firefox-page] › page/page-click.spec.ts:232:3 › should click on checkbox input and toggle
⚠️ [firefox-library] › library/hit-target.spec.ts:398:3 › should click in iframe with padding
⚠️ [firefox-library] › library/inspector/cli-codegen-2.spec.ts:138:7 › cli codegen › should upload multiple files
⚠️ [firefox-library] › library/inspector/cli-codegen-2.spec.ts:200:7 › cli codegen › should download files
⚠️ [firefox-library] › library/inspector/cli-codegen-3.spec.ts:383:7 › cli codegen › should generate getByTestId
⚠️ [firefox-page] › page/page-click-scroll.spec.ts:101:3 › should scroll into view element in iframe
⚠️ [firefox-page] › page/page-click.spec.ts:99:3 › should click the 1x1 div
⚠️ [firefox-library] › library/permissions.spec.ts:103:5 › permissions › should trigger permission onchange
⚠️ [firefox-page] › page/page-click.spec.ts:850:3 › should not hang when frame is detached
⚠️ [chromium-library] › library/browsercontext-viewport.spec.ts:143:12 › should drag with high dpi
⚠️ [chromium-library] › library/inspector/cli-codegen-3.spec.ts:57:7 › cli codegen › should click locator.nth
⚠️ [chromium-page] › page/page-add-locator-handler.spec.ts:90:5 › should work with locator.hover()
⚠️ [chromium-page] › page/page-click.spec.ts:232:3 › should click on checkbox input and toggle
⚠️ [chromium-page] › page/page-event-request.spec.ts:110:3 › should report navigation requests and responses handled by service worker
⚠️ [firefox-page] › page/frame-goto.spec.ts:46:3 › should continue after client redirect
⚠️ [webkit-library] › library/browsercontext-reuse.spec.ts:50:1 › should reset serviceworker
⚠️ [webkit-library] › library/trace-viewer.spec.ts:1049:1 › should pick locator in iframe
⚠️ [webkit-page] › page/page-drag.spec.ts:34:5 › Drag and drop › should send the right events
⚠️ [webkit-page] › page/page-drag.spec.ts:70:5 › Drag and drop › should work inside iframe
⚠️ [webkit-library] › library/inspector/cli-codegen-1.spec.ts:404:7 › cli codegen › should record ArrowDown
⚠️ [webkit-library] › library/inspector/cli-codegen-2.spec.ts:518:7 › cli codegen › should fill tricky characters
⚠️ [webkit-page] › page/page-add-locator-handler.spec.ts:90:5 › should work with locator.hover()
⚠️ [webkit-page] › page/page-drag.spec.ts:70:5 › Drag and drop › should work inside iframe
⚠️ [webkit-page] › page/page-drag.spec.ts:246:5 › Drag and drop › should work if the drag event is captured but not canceled
⚠️ [webkit-library] › library/browsercontext-reuse.spec.ts:50:1 › should reset serviceworker
⚠️ [webkit-library] › library/trace-viewer.spec.ts:122:1 › should contain action info
⚠️ [webkit-page] › page/page-drag.spec.ts:25:5 › Drag and drop › should work @smoke
⚠️ [webkit-page] › page/page-drag.spec.ts:246:5 › Drag and drop › should work if the drag event is captured but not canceled
⚠️ [webkit-page] › page/page-drag.spec.ts:272:5 › Drag and drop › should work if a frame is stalled
⚠️ [webkit-page] › page/page-drag.spec.ts:330:5 › Drag and drop › should work with locators
⚠️ [webkit-page] › page/page-request-continue.spec.ts:227:5 › post data › should amend utf8 post data
⚠️ [webkit-library] › library/browsercontext-reuse.spec.ts:50:1 › should reset serviceworker
⚠️ [webkit-page] › page/page-goto.spec.ts:277:3 › should fail when navigating to bad SSL after redirects

167883 passed, 7560 skipped, 3960 did not run
✔️✔️✔️

Merge workflow run.

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.

None yet

2 participants