【问题标题】:How to set up Selenium Grid to run InternetExplorerDriver in C#如何设置 Selenium Grid 以在 C# 中运行 InternetExplorerDriver
【发布时间】:2018-01-25 04:41:44
【问题描述】:

我目前正在努力设置 Selenium Grid 以执行用 C# 编写的 Selenium Webdriver 测试。

WebDriver 测试位于我的机器上。

我在我的虚拟机中安装了 RC Standalone。

使用以下代码时

public static IWebDriver Instance { get; set; }
Instance = new RemoteWebDriver(new Uri("http://192.xxx.x.xxx:4444/wd/hub"), DesiredCapabilities.Firefox());

测试在 VM 中运行良好(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 系统属性设置。

注意:测试在我的本地机器上运行得非常好,使用

IEWebDriverServer.exe with the following code
public static IWebDriver Instance { get; set; }

Instance = new InternetExplorerDriver(@"C:\Libraries");

【问题讨论】:

    标签: c# selenium selenium-grid


    【解决方案1】:

    错误准确地说明了您缺少的内容。

    错误信息说:

    驱动程序可执行文件的路径必须由 webdriver.ie.driver 系统属性设置

    您正在设置webdriver.internetexplorer.driver。你需要设置webdriver.ie.driver

    ie vs internetexplorer

    【讨论】:

    • 我按照您的建议将代码更改为 -Dwebdriver.ie.driver=C:\Selenium\IEDriver\IEDriverServer.exe。我仍然收到相同的错误消息。
    • 我还删除了 -D 以确保 webdriver.ie.driver= 出现相同的消息
    【解决方案2】:

    这是我如何为 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。

    【讨论】:

      猜你喜欢
      • 2017-03-04
      • 1970-01-01
      • 2016-10-06
      • 1970-01-01
      • 1970-01-01
      • 2016-08-24
      • 2019-03-08
      • 2018-04-11
      • 1970-01-01
      相关资源
      最近更新 更多