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

[Feature] Running Playwright on non-patched Firefox and Webkit #5872

Closed
tcao2 opened this issue Mar 18, 2021 · 6 comments
Closed

[Feature] Running Playwright on non-patched Firefox and Webkit #5872

tcao2 opened this issue Mar 18, 2021 · 6 comments

Comments

@tcao2
Copy link

tcao2 commented Mar 18, 2021

I know that at the moment, Playwright can only run on patched versions of Firefox and Webkit. Are there plans in the future that will allow Playwright to run on the regular Firefox browser?

@avodovnik
Copy link
Contributor

There are multiple reasons why we have our own version of the browsers - still, though, we try to land changes, etc., upstream as much as possible to reduce discrepancies.

Is there a particular reason you need/want this?

@tcao2
Copy link
Author

tcao2 commented Mar 18, 2021

Thanks for the prompt reply.

It is because our testing needs require testing the products on specific versions of the browsers. Let's say Playwright uses Firefox 80 and the software that we release to our users is guaranteed to work for Firefox with versions > 75. We want to make sure our software works even if the users are still on version 75 of Firefox. Therefore, we want our automated tests to be able to target any version of the browsers, as long as it's not too ancient (much like Selenium). I think this is a pretty important thing to have for any test automation tool.

@pavelfeldman
Copy link
Member

Would it be fair to say that you'd like to test against Firefox 75 and if Playwright allowed you to pick an older build, that would suffice? How far into the past you'd like it to go?

We are a bit different with Selenium in that we add features, so we need new browsers to be able to use those new features.

@tcao2
Copy link
Author

tcao2 commented Mar 19, 2021

I'd need to double-check on this with my lead but I think 5-6 builds in the past would be enough. Also, although the patched versions of Firefox (or WebKit) for use with Playwright and the ones that a regular user uses (downloadable from Mozilla) use the same browser's engine, I am not 100% sure/convinced that if a test scenario for a software passes on Playwright's Firefox, it will pass on the Mozilla downloadable equivalent version, which is why I am very interested in seeing Playwright works with the regular Firefox.

Thanks again for getting back to me on this question though, I really appreciate it!

@pavelfeldman
Copy link
Member

pavelfeldman commented Mar 30, 2021

@tcao2:

https://playwright.dev/docs/next/browsers - added a section for stock browser use. It is mostly about Chromium though.

Our Firefox story is super-simple. We are using stock Firefox Beta and we added instrumentation that only collects signals to expose more info to Playwright. All the control actions such as network interception are no-op unless you explicitly choose to use them. That makes us equivalent to Firefox Beta and you can safely rely upon Playwright being the Firefox clone. Should any issue emerge that suggests that we deviated in any matter, we will treat it with the highest priority.

We are currently working on the same story for the Firefox Stable. That way you can be both ready to newer Firefox releases and ensure your stable population is covered.

For WebKit, the story is a bit more involved since stable Safari is always dated, in Safari case, we stick with following the Safari TP release train. And again, same story, only side-effect-free instrumentation there + explicit opt-in controls.

@pavelfeldman
Copy link
Member

Closing as a non-actionable bug, please feel free to file a new one and link this bug if there are remaining questions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants