1

Я работаю с тестами автоматизации на C# + Selenium WebDriver. Я столкнулся с проблемой, тесты на IE11 не работают, но работают на Firefox, Chrome, IE10. Тесты на селен не работают в IE11

Проблема заключается в следующей части кода:

try 
    { 
     (new WebDriverWait(driver, TimeSpan.FromMilliseconds(PAGELOAD_DELAY))). 
      Until(driver1 => ((IJavaScriptExecutor)driver). 
       ExecuteScript("return document.readyState").Equals("complete")); 
    } 
    catch (WebDriverTimeoutException ex1) 

Ошибка из VS2015 отладчика:

VS2015 debug error

Я попытался следующий, но это не помогло

  • В режиме защиты IE11 отключить/включить для всех местоположений
  • В реестре добавить [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_DISABLE_INTERNAL_SECURITY_MANAGER], [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE]
  • различные версии Selenium WD
  • как x32 и x64 версии IE11 WebDriver
  • Microsoft IE11 WebDriver

Моя тестовая среда:

  • для Windows 8,1 x64
  • VisualStudio 2015
  • Селен WebDriver 3.0.0 beta2
  • IEDriverServer Win32 2.53.1
  • NUnit 3.4.1

UPD1

  1. Пробовал добавить веб-сайт в разделе "Совместимость просмотр списка"
  2. Пробные this solution
  3. Пробные this solution

никаких результатов, то же ошибка

UPD2

Я создал простой проект, чтобы проверить драйвер IE11. Код находится рядом:

[TestMethod] 
    public void TestMethod1() 
    { 
     IWebDriver driver = new InternetExplorerDriver(); 
     driver.Navigate().GoToUrl("http://google.com"); 
     try 
     { 
      (new WebDriverWait(driver, TimeSpan.FromMilliseconds(10000))). 
      Until(ExpectedConditions.VisibilityOfAllElementsLocatedBy(By.Name("q"))); 
     } 
     catch (WebDriverTimeoutException ex) 
     { } 
     driver.FindElement(By.Name("q")).SendKeys("123"); 
    } 

был открыта страница с Google, но я получил сообщение об ошибке во время отладки:

Result StackTrace: 
    at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse) 
     at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters) 
     at OpenQA.Selenium.Remote.RemoteWebDriver.FindElement(String mechanism, String value) 
     at OpenQA.Selenium.Remote.RemoteWebDriver.FindElementByName(String name) 
     at OpenQA.Selenium.By.<>c__DisplayClassa.<Name>b__8(ISearchContext context) 
     at OpenQA.Selenium.By.FindElement(ISearchContext context) 
     at OpenQA.Selenium.Remote.RemoteWebDriver.FindElement(By by) 
     at UnitTestProject1.UnitTest1.TestMethod1() in C:\dev\VS2015\Projects\UnitTestProject1\UnitTestProject1\UnitTest1.cs:line 21 
    Result Message: 
    Test method UnitTestProject1.UnitTest1.TestMethod1 threw exception: 
    OpenQA.Selenium.NoSuchElementException: Unable to find element with name == q 

Есть ли возможность запускать селен испытание под IE11, или это драйвер полностью взломан ?

конфигурации из тестового проекта:

  • VisualStudio 2015
  • NuGet Selenium.WebDriver 2.53.1
  • NuGet Selenium.Support 2,53.1
  • NuGet Selenium.WebDriver.IEDriver 2.53.1.1

ответ

0

Проверьте режим эмуляции вашего браузера

Microsoft Эдж? IE 11?

установить его в IE 11.

+0

По умолчанию режим Edge. Я не могу изменить режим по умолчанию в IE11 для всех сеансов. Возможно, это можно настроить из кода, но не уверен. Я добавил свой веб-сайт в «Список представлений совместимости», поэтому сайт должен быть открыт в режиме IE7. Но у меня такая же ошибка. –

Смежные вопросы