started late
started late

Reputation: 97

Webdriver typing very slow in IE11 and Windows 10

While executing testcases the characters are getting typed very slow. I am using Windows10 + Selenium 2.39 + IE 11 + IEDriverServer(64bit), tried replacing it with 32 bit also but to no avail.All security zones setting are checked and have tried all available resources online.Any solutions or shall i downgrade the OS to windows 7(as it was working fine on win7).

Upvotes: 3

Views: 2555

Answers (3)

Mach1
Mach1

Reputation: 31

My issue was that IEdriver 64bit was typing very slow. I tried clicking 'Enable Enhanced Protection Mode' under Internet Options~Advanced. But that did not help for the Windows 2012 64bit IIS VM that I am working on.

There was no TabProcGrowth registry key under Main.

So I followed others suggestion to use 32bit version from seleniumhq.org. But that did not solve my issue.

I then unchecked 'Enable Enhanced Protection Mode' in Internet Options. That fixed my issue.

Upvotes: 0

Developer63
Developer63

Reputation: 710

I had this same slowwwww typing problem when trying to use "InPrivate" browsing with IEDriver 32-bit. The InPrivate mode was to ensure that saved credentials wouldn't be used for a "first-time user registration/login" test scenario that included a multi-factor authentication step to send a confirmation code.

It turned out that using the "InPrivate" option with the IEDriver and the ForceCreateProcessApi = true option triggered a 64-bit process to start, and that 64-bit process then invoked the IE browser. I'm not sure if the browser was 64bit or 32bit, but the 32-bit IEDriver was super-slow in sending keystrokes to the IE 11 browser running inside this 64-bit Windows 10 process.

The IEDriver 32-bit approach required use of the ForceCreateProcessApi option, in order to get the combination to work.
The resulting super-slow typing in tests made the overall tests unacceptably slow.

Here's what worked for me:

  • Use the 64-bit IEDriver
  • Do NOT specify the "ForceCreateProcessApi = true" option
  • Add or change the registry value: HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\TabProcGrowth TabProcGrowth is a value under Internet Explorer\Main key. I created a DWord value for TabProcGrowth under Internet Explorer\Main, and set the value to 0.

Code for setting up the IEDriver looked like this:

InternetExplorerOptions ieOptions = new InternetExplorerOptions();
ieOptions.IntroduceInstabilityByIgnoringProtectedModeSettings = true;
ieOptions.IgnoreZoomLevel = true;
ieOptions.BrowserCommandLineArguments.Insert(0,"-private");
var _driver64 = new InternetExplorerDriver($"{Directory.GetCurrentDirectory()}", ieOptions);
_driver64.Manage().Window.Maximize();
_driver64.Navigate().GoToUrl("https://www.mypage.com");

then the code for interacting was same as 32-bit code, as follows:

IWebElement userName = _driver64.FindElement(By.XPath("//*[@id=\"username\"]"));
userName.SendKeys("MyUserID");

I had success using the 64-bit IEDriver from here: https://www.seleniumhq.org/download/ Look for the heading "The Internet Explorer Driver Server" and locate the 64-bit version. The version that was posted at the time self-reports as being version 3.14.0.0.

Ultimately I wanted to use a NuGet package, and I wanted a package where the name of the exe was "IEDriverServer.exe", same as the 32-bit filename. I wound up using this one: https://www.nuget.org/packages/WebDriver.IEDriverServer.win64/3.141.0 with a GitHub location of: https://github.com/SeriousM/WebDriver.IEDriverServer-nuget

It is working well for me thus far.

Upvotes: 0

Alex Bruce
Alex Bruce

Reputation: 553

Please try to use IEDriverServer(32bit) to solve this issue.

Upvotes: 1

Related Questions