Как запустить локаль браузерного стека в качестве фонового процесса в jenkins с использованием WINDOWS для сквозного тестирования транспортира в jenkins
Может ли кто-нибудь помочь мне запустить локаль браузерного стека в качестве фонового процесса в jenkins, используя WINDOWS для сквозного тестирования транспортира.
Поскольку вы не используете Java, вы не сможете использовать функцию отчетности подключаемого модуля. Однако вы можете использовать следующие функции, которые предлагает плагин.
1) Управляйте своими учетными данными BrowserStack глобально или для каждого задания сборки.
2) Настройка и демонтаж BrowserStackLocal для тестирования внутренней среды, среды разработки или промежуточной среды.
personAshwin Gonsalvesschedule16.03.2017
comment
да, я использую плагин browserstack, но перед запуском теста мне нужно запустить локаль стека браузера, иначе я получу следующую ошибку [Internet Explorer # 21] WebDriverError: [browserstack.local] имеет значение true, но локальное тестирование через BrowserStack не выполняется связано.
- personAnisha RK nair; 16.03.2017
comment
Я создал сборку проекта как конвейер в Jenkins, поэтому, как упоминалось в документе, я не вижу параметра конфигурации сборки в конвейере, чтобы установить локальные параметры стека браузера. Есть ли возможность установить его через сценарий конвейера?
- personAnisha RK nair; 16.03.2017
comment
Насколько я понимаю, вы выбрали опцию BrowserStack Local в своей конфигурации работы. Здесь плагин добавляет опцию --local-identifier с уникальным значением при запуске бинарника. Вам нужно добавить это уникальное значение в свои тестовые сценарии. Вы добавили возможность String browserstackLocalIdentifier = System.getenv(BROWSERSTACK_LOCAL_IDENTIFIER); И возможности.setCapability(browserstack.localIdentifier,browserstackLocalIdentifier); в ваших сценариях?
- personAshwin Gonsalves; 16.03.2017
comment
Я использую возможности в файле конфигурации стека браузера и не устанавливаю browserstackLocalIdentifier в файле конфигурации стека браузера.
- personAnisha RK nair; 16.03.2017
comment
хочу использовать мое определение конвейера, как это, но это для Linux, которое мне нужно для Windows. См. приведенный мной сценарий пайпа, node { // Запустите соединение sh BUILD_ID=dontKillMe nohup /var/tmp/BrowserStackLocal 42MyAcc3sK3yV4lu3 -onlyAutomate › /var/tmp/browserstack.log 2›&1 & echo \$! › /var/tmp/browserstack.pid // Выполнение тестов [...] // Прекращение соединения sh kill cat /var/tmp/browserstack.pid }
- personAnisha RK nair; 16.03.2017
comment
Если вы используете плагин Jenkins с выбранной опцией BrowserStack Local, вам необходимо добавить возможности, упомянутые выше. В противном случае вы получите сообщение об ошибке [browserstack.local] имеет значение true, но локальное тестирование через BrowserStack не подключено. Что касается команды, которой вы поделились, боюсь, у меня нет информации о ее преобразовании для Windows.
- personAshwin Gonsalves; 16.03.2017
Установите двоичный файл BrowserStackLocal с их веб-сайта.
Установите подключаемый модуль Jenkins Browserstack как это сделать
Настройте плагин с вашим именем пользователя и ключом доступа и укажите его на загруженный двоичный файл.
Чтобы сеанс маршрутизировал IP-трафик локально, мы должны передать локальный идентификатор из двоичного файла в наши желаемые возможности при запуске теста. (как указал Эшвин Гонсалвес.)
public DesiredCapabilities GetCapabilities(Browser browser, bool isBSLocal)
{
DesiredCapabilities capability = new DesiredCapabilities();
// Get BSID for local ip routing
if (isBSLocal)
{
string BSID = System.Environment.GetEnvironmentVariable("BROWSERSTACK_LOCAL_IDENTIFIER");
capability.SetCapability("browserstack.localIdentifier", BSID);
}
switch (browser.ToString())
{
case "Chrome":
capability.SetCapability("os", "Windows");
capability.SetCapability("os_version", "10");
capability.SetCapability("browser", "Chrome");
capability.SetCapability("browser_version", ChromeVersion);
capability.SetCapability("browserstack.chrome.driver", "2.42");
capability.SetCapability("resolution", "1920x1200");
capability.SetCapability("project", TestOps.GetParent);
capability.SetCapability("name", TestOps.GetTestName);
capability.SetCapability("browserstack.local", "true");
capability.SetCapability("browserstack.debug", "true");
capability.SetCapability("browserstack.selenium_version", ChromeSeleniumVersion);
capability.SetCapability("browserstack.user", USERNAME);
capability.SetCapability("browserstack.key", AUTOMATE_KEY);
break;