Skip to content

test(compass-e2e): try enabling bidi for e2e#7895

Draft
nbbeeken wants to merge 5 commits intomainfrom
try-enabling-bidi-e2e
Draft

test(compass-e2e): try enabling bidi for e2e#7895
nbbeeken wants to merge 5 commits intomainfrom
try-enabling-bidi-e2e

Conversation

@nbbeeken
Copy link
Copy Markdown
Collaborator

Description

BiDi may have more stability, just seeing if it works here.

Checklist

  • New tests and/or benchmarks are included
  • Documentation is changed or added
  • If this change updates the UI, screenshots/videos are added and a design review is requested
  • If this change could impact the load on the MongoDB cluster, please describe the expected and worst case impact
  • I have signed the MongoDB Contributor License Agreement (https://www.mongodb.com/legal/contributor-agreement)

Motivation and Context

  • Bugfix
  • New feature
  • Dependency update
  • Misc

Open Questions

Dependents

Types of changes

  • Backport Needed
  • Patch (non-breaking change which fixes an issue)
  • Minor (non-breaking change which adds functionality)
  • Major (fix or feature that would cause existing functionality to change)

args: chromeArgs,
},
// from https://github.com/webdriverio-community/wdio-electron-service/blob/32457f60382cb4970c37c7f0a19f2907aaa32443/packages/wdio-electron-service/src/launcher.ts#L102
'wdio:enforceWebDriverClassic': true,
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

@nbbeeken would be interesting to see if enabling it for electron also works. Beyond default wdio config for electron disabling it, I can't see a definitive answer whether or not it supposed to work, so might be worth trying

@nbbeeken
Copy link
Copy Markdown
Collaborator Author

When WDIO uses BiDi with Electron, it sends script.callFunction commands (the BiDi equivalent of browser.execute()). Internally, Electron's BiDi implementation tries to call Browser.getWindowForTarget a CDP command that Electron doesn't expose. This breaks essentially every browser.execute() call.

CDP Browser.setDownloadBehavior also missing
This is the getPuppeteer() path used to configure the download directory — it also fails because Electron doesn't implement this CDP domain.

So seems there's just hardcoded functionality for electron unless there's something about these layers that can be bypassed

@gribnoysup
Copy link
Copy Markdown
Collaborator

gribnoysup commented Mar 24, 2026

Bummer! But thanks for trying it out, at least now we know for sure what's the reason

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