Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Selenium WebDriver typing very slow in text field on IE browser

I'm running one of my scripts on IE 11 browser with Selenium 2.43.1 when the script types in text field using following:

element.sendKeys("string"); 

In IE browser, I can see that one character of string is typed in text field and it waits for 1-2 seconds before typing next character. Means for typing one character it's taking 1-2 seconds.

  1. Why is typing so slow with IE?
  2. Is there any alternate way to speed up typing?
like image 280
Alpha Avatar asked Jan 16 '15 13:01

Alpha


People also ask

Why is Selenium Automation slow on IE?

This is because the 64 bit IE Driver sever ( IEDriverServer_x64_2. 53.1 ). I switched to IEDriverServer_Win32_2. 53.1 then it worked, it is superfast now!

Does selenium work with Internet Explorer?

Since Selenium gives the option of running our tests in multiple browsers, Selenium with IE browser blending can be used to test any application. IE has a driver, which creates a connection between Selenium WebDriver and IE. and then executes the Selenium tests on Internet Explorer.


2 Answers

For me it worked with 64bit version of IEDriverServer. I added the property requireWindowFocus with "true" value:

DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer(); capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true); ... capabilities.setCapability("requireWindowFocus", true); WebDriver driver = new InternetExplorerDriver(capabilities); 

I'm using version 2.47 of Selenium/IE Driver

like image 44
PepsiGoose Avatar answered Oct 03 '22 12:10

PepsiGoose


My issue was with the driver architecture, and fixed it by downloading and using a 32bit one.

To switch to 32 bit here is what you have to do

  1. Download 32 bit driver service from http://selenium-release.storage.googleapis.com/index.html
  2. Instantiate your InterExplorerWeDriver class using InternetExplorerDriverService class with path to 32 bit driver service.

    InternetExplorerDriver ieDiver = new InternetExplorerDriver(“Path to the 32 bit Explorer driver”);

OR if using a builder:

System.setProperty(“webdriver.ie.driver”,“C:\\drivers\\IEDriverServer.exe”); DesiredCapabilities ieCapabilities=DesiredCapabilities.internetExplorer(); ieCapabilities.setCapability(InternetExplorerDriver  .INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true); ieCapabilities.setCapability("requireWindowFocus", true); File ie_temp=newFile(“C:\\Selenium\\IEDrivertemp”); InternetExplorerDriverService.Builder  ies=newInternetExplorerDriverService.Builder(); ies.withExtractPath(ie_temp); InternetExplorerDriverService service=ies.build(); WebDriver driver=newInternetExplorerDriver(service,ieCapabilities)) 

The thread that helped me resolve

http://forumsqa.com/question/typing-too-slow-in-text-fields-while-replaying-tests/

like image 68
Master Slave Avatar answered Oct 03 '22 10:10

Master Slave