带DriverOptions的RemoteWebDriver InvalidCastException

时间:2018-11-23 10:00:44

标签: c# .net selenium-webdriver

设置使用Selenium Webdriver自动化运行的RemoteWebDriver(在本例中为Browserstack)时遇到问题。

我的确切代码以前已经工作过,这表明这可能是版本控制问题,但是将我的硒版本更新到最新版本后,我仍然看到错误。硒版本3.141.0

代码如下(此代码直接取自Browserstack文档,稍作修改,与我的实际代码不同,但出于说明目的,它更简单,并且我的错误相同)

class Program
{
    static void Main(string[] args)
    {
        IWebDriver driver;
        var chromeOptions = new ChromeOptions();
        chromeOptions.AddAdditionalCapability("browserstack.user", "xxxxxxxxxxxxxx");
        chromeOptions.AddAdditionalCapability("browserstack.key", "xxxxxxxxxxxxxx");
        chromeOptions.AddAdditionalCapability("browser", "Chrome");
        chromeOptions.AddAdditionalCapability("browser_version", "62.0");
        chromeOptions.AddAdditionalCapability("os", "Windows");
        chromeOptions.AddAdditionalCapability("os_version", "10");
        chromeOptions.AddAdditionalCapability("resolution", "1024x768");
        driver = new RemoteWebDriver(new Uri("http://hub.browserstack.com/wd/hub/"), chromeOptions);

        driver = new RemoteWebDriver(
          new Uri("http://hub-cloud.browserstack.com/wd/hub/"), chromeOptions
        );
        driver.Navigate().GoToUrl("http://www.google.com");
        Console.WriteLine(driver.Title);

        IWebElement query = driver.FindElement(By.Name("q"));
        query.SendKeys("Browserstack");
        query.Submit();
        Console.WriteLine(driver.Title);

        driver.Quit();
    }
}

不管使用哪种选项,每次在初始化RemoteWebDriver时都会出现相同的错误

driver = new RemoteWebDriver(new Uri("http://hub.browserstack.com/wd/hub/"), chromeOptions);

System.InvalidCastException: 'Unable to cast object of type 'System.String' to type 'System.Collections.Generic.Dictionary`2[System.String,System.Object]'.'

browserstack文档建议使用现在已过时的DesiredCapabilities类而不是DriverOptions,但是我已经尝试了两个相同的错误,并且查看RemoteWebDriver源代码,DriverOptions是各种构造函数中的有效参数。

我可能缺少一些东西,但认为值得一提,看看是否有人看到过类似的问题或任何建议。

预先感谢

0 个答案:

没有答案