Подтвердить что ты не робот

Почему Selenium InternetExplorerDriver Webdriver очень медленный в режиме отладки (visual studio 2010 и IE9)

Я использую код примера с сайта SeleniumHq, но в режиме отладки производительность ужасная.

В режиме выпуска весь тест занимает около 6 секунд (включая запуск и закрытие IE) В режиме отладки требуется 65 секунд?

Пример кода:

    [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();

    }

Я пробовал его в ie8 и имел ту же производительность. Firefox в порядке, но мои клиенты используют IE, поэтому я застрял в тестировании против него. Кроме того - у меня нет таких же проблем, если я использую Selenium RC.

NB - я использую .Net 4 и последнюю версию (2.16) webDriver.dll(работает в 64-битном окне окна 7)

4b9b3361

Ответ 1

Для меня исправить было переход на 32-битную версию InternetExplorerDriver.exe из https://code.google.com/p/selenium/downloads/list

Кажется, теперь он называется IEDriverServer, но работает, если вы просто переименовали его в InternetExplorerDriver.exe.

Ответ 2

check 'prefer 32 bit' не проверяется в ваших свойствах сборки. Если это так, и вы используете 64-битный IE-драйвер, он будет работать как астматическая улитка.

Ответ 3

Используя клиент С#, NUnit, С# webdriver и IEDriverServer, у меня изначально возникла проблема с медленным вводом (например, передача ключей в поле ввода занимает около 5 секунд между клавишами или нажатие кнопки такой же задержки),

Затем, прочитав этот поток, я переключился на 32-битный IEDriverServer и, похоже, решил проблему.

Но сегодня я экспериментировал с объектом InternetExplorerOptions, чтобы установить некоторые параметры в IE в соответствии с этой документацией:

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

В документации я создал значение реестра HKCU\Software\Microsoft\Internet Explorer\Main\TabProcGrowth со значением 0 для использования ForceCreateProcessApi = true и BrowserCommandLineArguments = "-private."

После этого я заметил, что проблема с медленным входом была возвращена. Я внес несколько изменений в свой код, но после того, как все они вернулись, проблема все еще сохранялась. Однако, когда я удалил вышеупомянутый раздел реестра, вход вернулся на полную скорость (без задержки).