如何设置Selenium Grid以在C#中运行InternetExplorerDriver

时间:2014-11-21 15:05:49

标签: c# selenium selenium-grid

我目前正努力设置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");

2 个答案:

答案 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。