Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
JohnA2 opened this issue Apr 16, 2021 · 2 comments
Closed

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

JohnA2 opened this issue Apr 16, 2021 · 2 comments
Labels

Comments

@JohnA2
Copy link

JohnA2 commented Apr 16, 2021

💥 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.

@ghost ghost added the needs-triaging label Apr 16, 2021
@diemol diemol closed this as completed in 5a943d5 May 24, 2021
@diemol
Copy link
Member

diemol commented May 24, 2021

Fixed in the linked commit and added warnings when the setting is used.
This will be available in the next beta.

@JohnA2
Copy link
Author

JohnA2 commented May 26, 2021

I've tested the commit and everything works great now. Thanks a lot!

@github-actions github-actions bot locked and limited conversation to collaborators Sep 5, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants