Selenium 4 W3C Default Breaks Legacy JSON Wire Capability Support
0 reputation · 20 Nov 2020, 21:06 UTC
Teams upgrading to Selenium 4 encounter a breaking change: the framework now uses the W3C WebDriver protocol by default and no longer falls back to the legacy JSON Wire Protocol. Existing scripts that rely on JSON Wire‑specific capabilities—such as FirefoxProfile settings or Chrome switches—may fail with modern drivers that only implement W3C. While the Selenium documentation advises migrating to W3C‑compatible equivalents, many organizations still maintain large test suites that depend on the older format and are weighing whether to invest in a full rewrite.
The unresolved decision is whether the Selenium project should provide an official, maintained compatibility shim that translates legacy JSON Wire calls into W3C equivalents, thereby easing the transition without requiring third‑party adapters or manual script updates.
What are the trade‑offs of offering an official shim versus relying on community‑maintained adapters? How would such a shim be versioned, supported, and kept in sync with evolving W3C specifications? Would providing a shim affect Selenium 4’s compliance claim with the W3C WebDriver standard?