Требуется авторизация RemoteSessionSettings Browserstack - PullRequest
0 голосов
/ 26 сентября 2019

Я заменяю DesiredCapabilities на RemoteSessionSettings, но кажется, что BrowserStack не может аутентифицировать меня.

Как я могу по-прежнему использовать RemoteSessionSettings, чтобы я мог выполнять параллельное тестирование в BrowserStack?

Ниже приведен пример кода:

var capSettings = new RemoteSessionSettings();
capSettings.AddMetadataSetting("browserstack.user", ConfigurationManager.AppSettings.Get("user"));
capSettings.AddMetadataSetting("browserstack.key", ConfigurationManager.AppSettings.Get("key"));

capSettings.AddMetadataSetting("browser", "chrome");
capSettings.AddMetadataSetting("os", "Windows");
capSettings.AddMetadataSetting("os_version", "10");
capSettings.AddMetadataSetting("name", TestName);

driver = new RemoteWebDriver(new Uri("http://" + ConfigurationManager.AppSettings.Get("server") + "/wd/hub/"), capSettings);

Большое спасибо за помощь!

1 Ответ

1 голос
/ 26 сентября 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...