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

misc: Replace @packages/extension methods that are now implemented by WebDriver BiDi when BiDi is enabled #30221

Open
AtofStryker opened this issue Sep 11, 2024 · 1 comment
Assignees
Labels
browser: firefox pkg/extension This is due to an issue in the packages/extension directory

Comments

@AtofStryker
Copy link
Contributor

AtofStryker commented Sep 11, 2024

What would you like?

I would like to replace the most possible amount of web extension apis handled by @packages/extension in Firefox with the WebDriver Bidi automation client(s) created in #30220

Why is this needed?

Over time, the use of an unsigned web extension is likely going to be removed from Firefox (see bugzilla thread). With the introduction of BiDi, Cypress can now leverage the methods introduced in the specification to replace much of the use of the web extension.

Other

This should replace most of the methods (in red) outlined in the State of Automation spreadsheet except the downloads browser API methods (possibly).

@AtofStryker
Copy link
Contributor Author

AtofStryker commented Oct 23, 2024

This has been spiked into in BIDI_AUTOMATION_CLIENT_EXTENSION, which cuts over the methods possible in the web extension (cookies, screenshots, resetting between specs, etc) all on commit 7f2c012. Most the failures I can see are related to resourceType being missing, but right now there is too much noise in the CI run to see the failure gap between this commit and the base #30220. The firefox driver tests look to be hanging, so there might be some bugs on this commit, but otherwise system tests do not have a lot of failures and it looks like it will be in a good spot to develop once resourceType is supported. It is also worth noting that we cannot eliminate the web extension completely because browsingContext.downloadWillBegin is not supported yet (or at least webdriver errors when I try to subscribe to this event stating it doesn't exist) and no method for listening on download status is available, i.e. no equivalent to CDP's Page.downloadProgress, which we would need to remove the download behavior from the extension. We also need the extension for tab styling, etc, but this is outside the realm of automation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
browser: firefox pkg/extension This is due to an issue in the packages/extension directory
Projects
None yet
Development

No branches or pull requests

1 participant