我目前正努力设置Selenium Grid来执行用C#编写的Selenium Webdriver测试。
WebDriver测试位于我的机器上。
我在我的VM中安装了RC Standalone。
使用以下代码时
public static IWebDriver Instance { get; set; }
Instance = new RemoteWebDriver(new Uri("http://192.xxx.x.xxx:4444/wd/hub"), DesiredCapabilities.Firefox());
虚拟机中的测试运行良好(启动了Firefox,测试按预期进行了测试)
问题在于我尝试使用InternetExplorer
1)我在测试中将DesiredCapabilities更改为Internet Explorer:
public static IWebDriver Instance { get; set; }
Instance = new RemoteWebDriver(new Uri("192.xxx.x.xxx:4444/wd/hub"), DesiredCapabilities.InternetExplorer());
2)下载InternetWebDriverServer.exe并将其安装在VM中(而不是我测试所在的本地计算机) C:\ Selenium \ IEDriver(这个C:是VM)
3 - 使用以下命令行在VM中配置RC网格:
java -jar C:\Selenium\RC\selenium-server-standalone-2.44.0.j
ar -Dwebdriver.internetexplorer.driver=C:\Selenium\IEDriver\IEDriverServer.exe
当我运行测试时,我收到以下错误
驱动程序可执行文件的路径必须由webdriver.ie.driver系统属性设置。
N.B:使用
在本地计算机上运行测试完全正常IEWebDriverServer.exe with the following code
public static IWebDriver Instance { get; set; }
Instance = new InternetExplorerDriver(@"C:\Libraries");
答案 0 :(得分:0)
错误说明了您遗失的内容。
错误消息显示:
驱动程序可执行文件的路径必须由webdriver.ie.driver系统属性
设置
您正在设置webdriver.internetexplorer.driver
。您需要设置webdriver.ie.driver
(即 vs internetexplorer )
答案 1 :(得分:0)
以下是我如何为IE11启动驱动程序的示例
public void Initialize()
{
String webURL = "http://www.google.com";
String myHub = "http://QA_HUB:4444/wd/hub";
var caps = DesiredCapabilities.InternetExplorer();
caps.SetCapability(CapabilityType.BrowserName, "internet explorer");
caps.SetCapability(CapabilityType.Platform, "VISTA");
driver = new RemoteWebDriver(new Uri(myHub), caps, TimeSpan.FromSeconds(600));
driver.Navigate().GoToUrl(webURL);
Console.WriteLine("Opened Browser & Navigated To URL");
}
IEDriverServer.exe保存在C:\ Program Files \ Java \ jdk1.8.0_77 \ bin中,并确保您在系统设置路径中指向文件夹,而不是实际的exe。