Skip to content

Conversation

@SrinivasanTarget
Copy link

πŸ› Problem Solved:

  • Fixed critical ENOMEM memory overflow errors in WebdriverIO v9
  • Resolved slow performance during scroll operations and intensive browser interactions

βœ… Solution:

  • Added automatic protocol detection (browser.isBidi)
  • Uses script.callFunction() for WebdriverIO v9 Bidi mode (native protocol)
  • Falls back to executeScript() for WebdriverIO v7/v8 Classic mode
  • Added 50ms delays to prevent rapid command accumulation

πŸ“Š Performance Results:

  • 10x faster execution in WebdriverIO v9 (143ms vs 1,638ms per command)
  • Zero memory errors under intensive load (100+ rapid operations tested)
  • Full backward compatibility with WebdriverIO v7 and v8

SrinivasanTarget and others added 6 commits May 27, 2025 14:08
Co-authored-by: Saikrishna321 <[email protected]>
Co-authored-by: Saikrishna321 <[email protected]>
Co-authored-by: Saikrishna321 <[email protected]>
Co-authored-by: Saikrishna321 <[email protected]>
capabilities: [{
'LT:Options': {
// ... your existing options
webSocketUrl: true // Enable Bidi for optimal v9 performance
Copy link
Member

Choose a reason for hiding this comment

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

this is no longer required i think, as wdio9 is set to start bidi by default, unless user specifies wdio:enforceWebDriverClassic:true

project: 'WebdriverIO v9 Compatibility Test',
build: 'ENOMEM Fix Verification',
name: 'Scroll Operations Memory Test',
webSocketUrl: true, // Enable Bidi support
Copy link
Member

Choose a reason for hiding this comment

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

can we remove this and try once ?

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