-
Notifications
You must be signed in to change notification settings - Fork 3.2k
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
chore(webkit): fix WebKit network-related driver tests #23232
Conversation
Co-authored-by: Blue F <[email protected]>
Thanks for taking the time to open a PR!
|
@@ -30,32 +31,7 @@ export async function open (browser: Browser, url, options: any = {}, automation | |||
headless: browser.isHeadless, | |||
}) | |||
|
|||
let pwPage: playwright.Page | |||
|
|||
async function resetPage (_url) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lmiller1990 here is the reset
refactor requested: #15533 (comment)
Test summaryRun details
View run in Cypress Dashboard ➡️ FlakinessThis comment has been generated by cypress-bot as a result of this project's GitHub integration settings. You can manage this integration in this project's settings in the Cypress Dashboard |
ranFirefox: name === 'firefox', | ||
ranElectron: name === 'electron', | ||
ranWebKit: name === 'webkit', | ||
}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Props for the simplification here 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've tested this branch on macOS, everything seems as stable as the initial PR. That's a nice assortment of skipped specs; I was hoping there'd be a small number of common differences driving the failures, but it's looking like there's quite a few differences here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, tested it out - I still see a weird GraphQL error when I launch the runner with WebKit, I am thinking this is a known bug. I could pitch in and help out with this if needed (as of right now I idea what would be causing it, I didn't look yet).
I also noticed some tests you skipped were passing, eg the shadow DOM one. Maybe it's just flake and I got lucky?
@@ -3928,7 +3929,8 @@ describe('src/cy/commands/actions/click', () => { | |||
}) | |||
}) | |||
|
|||
describe('shadow dom', () => { | |||
// TODO(webkit): fix+unskip for experimental webkit |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Surprised these tests don't "just work" - I would have thought basic browser APIs would be fairly uniform, since we trigger them with standard client side JS (assuming here, haven't looked at how cy.shadow
actually works).
Edit: some actually do just work, or at least, it seems that way on my machine.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I skipped out the entire click.cy.js because of the large number of failures, I could've been more selective here. This will be unskipped by experimentalWebKitSupport
release.
@@ -2609,7 +2617,9 @@ describe('network stubbing', function () { | |||
}) | |||
|
|||
it('intercepts cached responses as expected', { | |||
browser: '!firefox', // TODO: why does firefox behave differently? transparently returns cached response | |||
// TODO: why does firefox behave differently? transparently returns cached response | |||
// TODO(webkit): fix+unskip. currently fails in WK because cache is disabled |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is disabling the cache in WebKit something Playwright automation does, or something we do?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PW automation.
LGTM, some random questions/nits but no blocker. |
User facing changelog
n/a, WebKit is currently only available in development
Additional details
cy.route()
andcy.server()
, andcy.intercept()
'sforceNetworkError
causes a request loop which results in flake.driver-integration-tests-webkit
on all commits, so adding these skips was necessary here to keep CI green.PR Tasks
cypress-documentation
?type definitions
?