Introduce WebkitHeadless browser testing#8491
Merged
Conversation
|
Collaborator
Size Report 1Affected ProductsNo changes between base commit (47b0913) and merge commit (e2a2ee8).Test Logs |
Collaborator
Size Analysis Report 1Affected ProductsNo changes between base commit (47b0913) and merge commit (e2a2ee8).Test Logs |
hsubox76
reviewed
Sep 16, 2024
Replace Safari with WebkitHeadless in list of supported karma browsers Install playwright browsers in CI Set WEBKIT_HEADLESS_BIN Update launcher version Run firestore test changed on push Fix Don't use in test-changed-firestore Ignore failing tests
1e2561b to
4473d2b
Compare
hsubox76
reviewed
Sep 23, 2024
DellaBitta
approved these changes
Sep 23, 2024
hsubox76
approved these changes
Oct 2, 2024
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Introduce WebKitHeadless browser testing, using the
karma-webkit-launcherplugin. The plugin uses playwright to launch it'sWebkitHeadlessbrowser, and uses that browser to run karma tests on.This is significantly better than the proposed solution in #8396, where we forked the old
karma-safari-launcherplugin, because it uses a headless browser. This means thatHow to run locally:
Testing:
I ran all of the browser tests against WebkitHeadless locally, and did not encounter any unexpected failures (the flakes in firestore still occur). Everything works as expected.
When running the same tests in CI, I noticed that several packages are now flaky (seemingly only in CI?): installations, storage-compat, database, database-compat, app-check. It's not clear why these are suddenly only failing in the headless webkit browser in CI, so let's skip them for now, and add a
TODOto fix this later.