RemoteWebDriver InvalidCastException с DriverOptions - PullRequest
0 голосов
/ 23 ноября 2018

Я столкнулся с проблемой при настройке RemoteWebDriver (в данном случае с Browserstack), когда выполнял автоматизацию с использованием Selenium Webdriver.

Мой точный код работал ранее, что указывало на то, что это может быть проблемой управления версиями, нопосле обновления моей версии селен до последней я все еще вижу ошибку.Версия Selenium 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]'.'

В документах Browsertack предлагается использовать устаревший класс DesiredCapabilities, а не DriverOptions, но у меня естьпробовал оба с одной и той же ошибкой, и, глядя на источник RemoteWebDriver, DriverOptions является допустимым параметром в различных конструкторах.

Возможно, что-то мне не хватает, но подумал, что стоит опубликовать, чтобы увидеть, видел ли кто-нибудьаналогичные вопросы или любые предложения.

Заранее спасибо

...