Skip to content

Grid 4 doesn't allow more than 1 session for Internet Explorer #9388

Description

@JohnA2

💥 Regression Report

We used Selenium Grid 2 and 3 to run multiple IE sessions in parallel without issues for many years. But now Selenium 4 restrict the number of IE sessions to only 1 without any way to override the restriction.

Last working Selenium version

Worked up to version: 3.141.59

Stopped working in version: 4.0.0-alpha

To Reproduce

  1. Start the hub using java -jar selenium-server-4.0.0-beta-3.jar hub
  2. Start the IE node using java -Dwebdriver.ie.driver=IEDriverServer-3.150.1.exe -jar selenium-server-4.0.0-beta-3.jar node --max-sessions 7 --override-max-sessions true

Expected behavior

A grid node that allows up to 7 tests that use IE to run in parallel.

Environment

OS: Windows
Browser: IE
Browser version: 11
Browser Driver version: 3.150.1
Language Bindings version: Java 4.0.0-beta-3
Selenium Grid version (if applicable): 4.0.0-beta-3

I understand that IE might need to be limited to only one instance because of the issues described in http://jimevansmusic.blogspot.com/2012/06/whats-wrong-with-internet-explorer.html Specifically, there are 2 issues when IEDriver uses native events to interact with the browser:

  • Mouse clicks to the IE window get swallowed up when the browser window does not have the system focus
  • Mouse hovers work incorrectly (this issues was resolved in newer IEDriver versions)

But http://jimevansmusic.blogspot.com/2013/01/revisiting-native-events-in-ie-driver.html describes that using simulated events instead of native events fixes the remaining "mouse clicks when not in focus" issue. This mode can be activated by InternetExplorerOptions.disableNativeEvents(). Selenium 3 Grid also has simulated events enabled by default, so simultaneous IE tests worked out of the box with it.

We have a few physical servers with many CPU cores and a lot of RAM to run Selenium tests. We have been running up to 10-15 IE sessions per server without issues for many years thanks to simulated events. Now if Selenium 4 Grid limits us to only 1 IE instance per server, it becomes simply not feasible to do IE testing with the existing infrastructure anymore. I can think of the following solutions:

  1. Run virtual machines on a physical server, one VM for one IE instance. This will increase the expenses a lot because we'll need new Windows licenses for each VM. And we still won't be able to run as many IE tests as with Selenium 3 because of the overhead of running a separate OS for each browser instance.
  2. Use Docker. This is potentially a bit better than Please accept this documentation update #1, but unfortunately the company policy doesn't allow us to use Docker.
  3. Stay on Selenium 3 as long as it still works and look for alternatives for the future. Unfortunately, this is the most realistic option I can think of.

I would appreciate if you allow multiple IE sessions, perhaps with a warning message, or suggest any option other that the three mentioned above.

Metadata

Metadata

Assignees

No one assigned

    Labels

    B-gridEverything grid and server related

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions