microsoft / microsoft/playwright
[Feature]: Allow to configure the protocol (`juggler` or `webDriverBiDi`) when launching the browser
- Dominant language
- TypeScript
- Stars
- 96.3k
- Forks
- 6.5k
- Avg merge
- 1d 6h
- Merged PRs (30d)
- 180
Description
### 🚀 Feature Request
Now that WebDriver BiDi implements many of the requirements needed by Playwright, it would be great to see early adoption from users. Real-world feedback would be invaluable in helping us prioritize future API additions and enhancements.
I recently attempted to migrate another project from using Firefox with Juggler to WebDriver BiDi. However, it failed when trying to import _bidiFirefox from the playwright module. Besides the import issue itself, the use of the underscore prefix (_bidiFirefox) is also problematic. It typically indicates an internal or non-public API, which makes its usage feel unsupported or fragile.
Would it be possible to introduce a more stable and ergonomic way to choose between Juggler and WebDriver BiDi, perhaps via the launch options? For example, a `protocol` option could be added, allowing values like `juggler` (default) or `webdriverBiDi`. Internally, this would determine whether the `firefox` or `_bidiFirefox` browser class is instantiated. But maybe there is another option preferred by you?
### Example
_No response_
### Motivation
This type of setup worked well for us during the experimental phase with Puppeteer and would likely improve usability and adoption here as well.
@yury-s what do you think?
Contributor guide
Assessment
This issue has not been assessed yet.