Why is Selenium InternetExplorerDriver Webdriver very slow in debug mode (visual studio 2010 and IE9)

I'm using the example code from the SeleniumHq site - but in debug mode the performance is awful.

In release mode the entire test takes about 6 seconds (including launching and closing IE) In Debug mode it takes 65 seconds ?

The sample code is just :

    [Test]
    public void testBrowser()
    {
        // Do something here
        IWebDriver driver = new InternetExplorerDriver();
        //Notice navigation is slightly different than the Java version
        //This is because 'get' is a keyword in C#
        driver.Navigate().GoToUrl("http://www.google.com");
        IWebElement query = driver.FindElement(By.Name("q"));
        query.SendKeys("Cheese");
        System.Console.WriteLine("Page title is: " + driver.Title);
        // TODO add wait
        driver.Quit();

    }

I've tried it in ie8 and have the same performance. Firefox is fine - but my clients use IE so I'm stuck with testing against it. Also - I don't have the same issues if I use Selenium RC.

NB - I'm using .Net 4 and the latest version (2.16) of the webDriver.dll (running on a 64bit windows 7 box)

Answers


For me, the fix was to switch to the 32 bit version of InternetExplorerDriver.exe from https://code.google.com/p/selenium/downloads/list

Seemingly named IEDriverServer nowadays, but works if you just rename it to InternetExplorerDriver.exe.


check 'prefer 32 bit' is not checked in your build properties. If it is and you are using the 64 bit IE driver it will run like an asthmatic snail.


Using the C#, NUnit, C# webdriver client and IEDriverServer, I originally had the problem with slow input (e.g., sending keys to an input box would take about 5 seconds between keys, or clicking on a button same kind of delay).

Then, after reading this thread, I switched to the 32-bit IEDriverServer, and that seemed to solve the problem.

But today I was experimenting with the InternetExplorerOptions object in order to set some options on IE according to this documentation:

https://code.google.com/p/selenium/wiki/InternetExplorerDriver

Per the documentation, I created the registry value HKCU\Software\Microsoft\Internet Explorer\Main\TabProcGrowth with a value of 0 in order to use ForceCreateProcessApi = true and BrowserCommandLineArguments = "-private."

After doing this, I noticed that the slow-input problem was back. I had made several changes to my code, but after rolling all of them back, the problem still persisted. When I removed the aforementioned registry key, however, the input was back to full speed (no delay).


Need Your Help

java.net.SocketTimeoutException in okhttp

android json okhttp socketexception okhttp3

Here it takes so much time to get data from json. When deleted and again installed it will get json within 1 min and when i again click button for json it takes so much time and still data is not g...

Could not load the "" image referenced from a nib in the bundle with identifier

ios iphone

when I load my application it shows a warning message that