Использование метода AddMetadataSetting
помещает свойства не в ту часть новой полезной нагрузки команды сеанса, чтобы BrowserStack работал правильно.Вам нужно что-то вроде следующего:
Dictionary<string, object> browserStackOptions = new Dictionary<string, object>();
browserStackOptions.Add("userName", ConfigurationManager.AppSettings.Get("user"));
browserStackOptions.Add("accessKey", ConfigurationManager.AppSettings.Get("key"));
browserStackOptions.Add("os", "Windows");
browserStackOptions.Add("osVersion", "10");
browserStackOptions.Add("sessionName", TestName);
ChromeOptions options = new ChromeOptions();
// N.B., the below line of code is specific to
// the 4.0 alpha of the .NET bindings. To
// use a 3.x version, use:
// options.AddAdditionalCapability("bstack:options", browserStackOptions, true);
options.AddAdditionalOption("bstack:options", browserStackOptions);
// If you truly need RemoteSessionSettings,
// you can do the following:
// RemoteSessionSettings settings = new RemoteSessionSettings(null, options);
// IWebDriver driver = new RemoteWebDriver(new Uri("http://hub-cloud.browserstack.com/wd/hub/"), settings);
IWebDriver driver = new RemoteWebDriver(new Uri("http://hub-cloud.browserstack.com/wd/hub/"), options);
Класс RemoteSessionSettings
полезен, когда добавляемые возможности находятся вне объекта основных возможностей, или если вы пытаетесь передать несколько специфичных для браузера опцийклассы для потенциального соответствия любому из нескольких браузеров для сеанса.