-
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
fix: move main tab activation to puppeteer plugin #28898
Conversation
7f32980
to
f6fc4f0
Compare
8 flaky tests on run #54067 ↗︎
Details:
specs_list_latest_runs.cy.ts • 1 flaky test • app-e2e
e2e/origin/basic_login.cy.ts • 1 flaky test • 5x-driver-firefox
|
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
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.
looks like there is a dupe header in the changelog?
} | ||
|
||
window.addEventListener('message', onMessage) | ||
window.postMessage({ message: 'cypress:extension:activate:main:tab' }) |
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.
whats the difference between cypress:extension:main:tab:activated
and cypress:extension:activate:main:tab
?
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.
cypress:extension:activate:main:tab
is sent to the extension to tell it to activate the main tab. cypress:extension:main:tab:activated
is the ack that the main tab was successfully activated.
Released in This comment thread has been locked. If you are still experiencing this issue after upgrading to |
Additional details
Previously, we were attempting to activate the main tab before and after every command. This required the Chrome extension to be loaded and enabled, and was only useful for users who were leveraging the Puppeteer plugin. If the extension was disabled or disallowed by policy, commands would cause the runner to hang even when the Puppeteer plugin was not in use.
This PR moves tab closing behavior into the Puppeteer plugin itself, and adds some support logic to the driver and extension in order to accommodate the logic happening in a Cypress plugin rather than in the browser.
Steps to test
How has the user experience changed?
PR Tasks
cypress-documentation
?type definitions
?