Я столкнулся с проблемой при настройке 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 является допустимым параметром в различных конструкторах.
Возможно, что-то мне не хватает, но подумал, что стоит опубликовать, чтобы увидеть, видел ли кто-нибудьаналогичные вопросы или любые предложения.
Заранее спасибо