1
我正在使用C#+ Selenium WebDriver進行自動化測試。我遇到了這個問題,在IE11上測試不起作用,但在Firefox,Chrome,IE10上工作。 Selenium測試在IE11中不起作用
問題是在代碼的下一個部分:
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]
- 不同版本硒WD的
- IE11 webdriver的兩個X32和x64版本
- Microsoft IE11 WebDriver
我的測試環境:
- 的Windows 8.1 x64的
- 的VisualStudio 2015年
- 硒的webdriver 3.0.0β2
- IEDriverServer的Win32 2.53.1
- NUnit的3.4.1
UPD1
- 嘗試添加Web站點以 「兼容性視圖列表」
- 試過this solution
- 試過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");
}
頁與谷歌被打開了,但我在調試期間得到了一個錯誤:
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下運行Selenium測試,或者它的驅動程序完全打破?從測試項目
配置:
- 的VisualStudio 2015年
- 的NuGet Selenium.WebDriver 2.53.1
- 的NuGet Selenium.Support 2.53。1
- 的NuGet Selenium.WebDriver.IEDriver 2.53.1.1
默認模式是邊緣。我無法在IE11中更改所有會話的默認模式。也許可以從代碼設置,不確定。我已將我的網站添加到「兼容性視圖列表」中,因此網站應以IE7模式打開。但我得到了同樣的錯誤。 –