C# 硒测试不';我不在IE11工作
我正在C#+Selenium WebDriver上进行自动化测试。我遇到了这个问题,IE11上的测试不起作用,但在Firefox、Chrome和IE10上可以 问题在代码的下一部分:C# 硒测试不';我不在IE11工作,c#,testing,selenium-webdriver,automated-tests,internet-explorer-11,C#,Testing,Selenium Webdriver,Automated Tests,Internet Explorer 11,我正在C#+Selenium WebDriver上进行自动化测试。我遇到了这个问题,IE11上的测试不起作用,但在Firefox、Chrome和IE10上可以 问题在代码的下一部分: try { (new WebDriverWait(driver, TimeSpan.FromMilliseconds(PAGELOAD_DELAY))). Until(driver1 => ((IJavaScriptExecutor)driver).
try
{
(new WebDriverWait(driver, TimeSpan.FromMilliseconds(PAGELOAD_DELAY))).
Until(driver1 => ((IJavaScriptExecutor)driver).
ExecuteScript("return document.readyState").Equals("complete"));
}
catch (WebDriverTimeoutException ex1)
VS2015调试器出错:
我试过下一个,但没用
- 在IE11保护模式下,关闭/打开所有位置
- 在注册表中添加
,[HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE\U DISABLE\U INTERNAL\U SECURITY\U MANAGER]
[HKEY\U LOCAL\U MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE\U BFCACHE]
- Selenium WD的不同版本
- IE11 WebDriver的x32和x64版本
- Windows 8.1 x64
- VisualStudio 2015
- Selenium WebDriver 3.0.0 beta2
- IEDriverServer Win32 2.53.1
- NUnit 3.4.1
[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
结果堆栈跟踪:
在OpenQA.Selenium.Remote.RemoteWebDriver.UnpackantRownerError(响应错误响应)中
在OpenQA.Selenium.Remote.RemoteWebDriver.Execute(stringdrivercommandtoexecute,Dictionary`2参数)
在OpenQA.Selenium.Remote.RemoteWebDriver.FindElement(字符串机制,字符串值)
位于OpenQA.Selenium.Remote.RemoteWebDriver.FindElementByName(字符串名)
在OpenQA.Selenium.By.c__DisplayClassa.b__8(ISearchContext上下文)中
在OpenQA.Selenium.By.FindElement(ISearchContext)上
位于OpenQA.Selenium.Remote.RemoteWebDriver.FindElement(By)
在C:\dev\VS2015\Projects\UnitTestProject1\UnitTestProject1\UnitTestProject1\UnitTest1.cs中的UnitTestProject1.unittestmethod1()处:第21行
结果消息:
测试方法UnitTestProject1.UnitTest1.TestMethod1引发异常:
OpenQA.Selenium.NoSuchElementException:找不到名为==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
将其设置为IE 11。检查浏览器的模拟模式 微软边缘? 11岁
将其设置为IE 11。默认模式为Edge。我无法更改IE11中所有会话的默认模式。也许可以从代码中设置,但不确定。我已经将我的网站添加到“兼容性视图列表”中,所以网站应该以IE7模式打开。但我得到了同样的错误。默认模式是Edge。我无法更改IE11中所有会话的默认模式。也许可以从代码中设置,但不确定。我已经将我的网站添加到“兼容性视图列表”中,所以网站应该以IE7模式打开。但我也犯了同样的错误。