Почему Selenium InternetExplorerDriver Webdriver очень медленно работает в режиме отладки (Visual Studio 2010 и IE9) - PullRequest
20 голосов
/ 13 января 2012

Я использую пример кода с сайта 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-битной Windows 7)

Ответы [ 3 ]

27 голосов
/ 01 августа 2013

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

В настоящее время, похоже, называется IEDriverServer, но работает, если вы просто переименуете его в InternetExplorerDriver.exe.

12 голосов
/ 10 апреля 2013

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

2 голосов
/ 08 сентября 2014

Используя клиент C #, NUnit, C # 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."

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...