Repository navigation
WebdriverIO 10 (replaces #416-#419) - #422
Merged
Merged
Conversation
The packages only work at the same version, so all five move together to ^10.0.0. v10 removed browser.executeAsync: 101 calls in 47 e2e files become browser.execute((args) => new Promise((done) => BODY)) by a codemod (bodies untouched; an async callback's body runs in (async () => BODY)()), and the two helpers that forward a callback (inChrome, extension pages) send a script string that wraps it in a promise, which execute() awaits over BiDi and classic alike (read in webdriverio 10.0.0's execute()). Locally under 10.0.0: web (keybinds, player-controls, ram-budget, firefox: 72), classic (content-overlays, auto-enable-list: 11) and private windows (8) pass. Left: v10 also removed switchFrame for BiDi sessions (35 calls in 11 ext specs): frames go through the browsing context browser.url()/newWindow() returns (.frame()). And by the 7-day rule its versions are ready from 2026-10-12. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…, strict $() in dialogs, the executeAsync calls main added since Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…1.3x on a slow Linux runner) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Nawid3333
marked this pull request as ready for review
October 11, 2026 15:41
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
WebdriverIO 9.32 -> 10.0.0 for the whole e2e setup, in place of Dependabot's #416-#419: the packages only work at the same version, so each of those was red alone.
What 10 needed:
executeAsyncis gone. 101 calls in 47 files becamebrowser.execute((args) => new Promise((done) => BODY))by a codemod (bodies untouched); the helpers that forward a callback (inChrome, extension pages) send a script that wraps it in a promise. Four calls main added since were converted the same way.switchFrameis gone for WebDriver BiDi sessions (the playback, extension and live suites); 10 wants browsing-context objects (browser.url()then.frame()). The specs switch into the player's frames ~50 times, with shared helpers that run in whatever frame is current, sotests/e2e/switchFrame.mjsputs back what 9 did for an element ornull: the frame's browsing context (from the iframe'scontentWindow) becomes WebdriverIO's current context, and WebDriver classic'sswitchToFramefollows for classic commands. Classic sessions (classic, private-browsing suites) keep WebdriverIO's ownswitchFrame.webdriveriois now a direct dev dependency (forgetContextManager), in Dependabot'swdiogroup.$()is strict: a selector that matches two elements is an error. One place did (the dialogs spec hovered the first of two toasts); it now takes the first explicitly. Strict selectors stay on.Local runs: lint, tsc, vitest 2235; e2e: the 12 extension specs that failed here (save-flow, player-peers-bfcache, source-length, save-transport, save-dialog-regression, same-video-file, page-subtitles, iframe-redirect, framed-player, firefox-vpn, embed-page-query, keybinds-storage) and dialogs, sources-browser-ui, ram-budget: all pass.
Merge from 2026-10-12 (10.0.0 was published 2026-10-05; 7-day rule). Then Dependabot closes #416-#419 by itself.
🤖 Generated with Claude Code