I'm working with automation tests on C# + Selenium WebDriver. I stucked with the problem, tests on IE11 don't work, but work on Firefox, Chrome, IE10.
The problem is in the next part of code:
try
{
(new WebDriverWait(driver, TimeSpan.FromMilliseconds(PAGELOAD_DELAY))).
Until(driver1 => ((IJavaScriptExecutor)driver).
ExecuteScript("return document.readyState").Equals("complete"));
}
catch (WebDriverTimeoutException ex1)
Ошибка отладчика VS2015:
Я пробовал следующее, но это не помогло
- В защищенном режиме 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
- Selenium WebDriver 3.0.0 beta2
- IEDriverServer Win32 2.53.1
- NUnit 3.4.1
UPD1
- Пытался добавить сайт в "Список просмотра совместимости"
- Пробовал это решение
- Пробовал это решение
нет результатов, та же ошибка
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");
}
Страница с гуглом открылась, но при отладке произошла ошибка:
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. Поддержка 2.53.1
- Nuget Selenium.WebDriver.IEDriver 2.53.1.1