Skip to content

Firefox example: connect over WebDriver BiDi (TB-1003) - #2

Merged
jochen-testingbot merged 1 commit into
mainfrom
fix/tb-1003-firefox-bidi
Nov 10, 2026
Merged

jochen-testingbot merged 1 commit into
mainfrom
fix/tb-1003-firefox-bidi

Conversation

@jochen-testingbot

Copy link
Copy Markdown
Contributor

npm run test:puppeteer:firefox fails on TestingBot today (TB-1003, https://testingbot-team.atlassian.net/browse/TB-1003). Firefox removed CDP in Firefox 129, so Puppeteer must connect to it with protocol: 'webDriverBiDi'. This adds that to examples/puppeteer/firefox/test.js.

The server side is testingbot/ws-hub#26. It makes /puppeteer proxy Firefox sessions to the browser's WebDriver BiDi socket. This example passes only once that is deployed. Before then it fails with or without this change. The repro sessions with puppeteer-core 25.16.0 and Firefox 158 are in the ws-hub PR.

Verified: node --check. The same connect options (puppeteer-core 25.16.0, protocol: 'webDriverBiDi') passed live against a TestingBot Firefox 158 session through a relay that does ws-hub#26's session.new rewrite (session 5d8a2194476b-ffd54c647799-28ae51193702-179430413696-44615201). This file itself was not run end to end, because that needs the deploy.

Independent of #1 (Jest/WebdriverIO fixes).

Firefox removed CDP in 129, so puppeteer.connect needs protocol: 'webDriverBiDi'
for Firefox. Server side this needs testingbot/ws-hub#26.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Live correctness remains unverified because the change relies on the separately deployed ws-hub#26 WebDriver BiDi proxy and was validated only through static review and syntax checks.

No open issues 🎉

What changed in this PR

Updates the Firefox Puppeteer example to connect through WebDriver BiDi, which is required for current Firefox versions where CDP is unavailable.

Changes:

  • Adds protocol: 'webDriverBiDi' to the Firefox puppeteer.connect options.
  • Documents the Firefox protocol requirement.
  • Retains the existing TestingBot endpoint and capabilities; syntax verification passed with node --check.
File Description
examples/​puppeteer/​firefox/​test.js Configures the Firefox Puppeteer example to connect through WebDriver BiDi while preserving the existing TestingBot session configuration.

Review effort: Lite

@jochen-testingbot
jochen-testingbot merged commit 8fd6bef into main Nov 10, 2026
5 checks passed
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

Successfully merging this pull request may close these issues.

2 participants