Как запустить локаль браузерного стека в качестве фонового процесса в jenkins с использованием WINDOWS для сквозного тестирования транспортира в jenkins

Может ли кто-нибудь помочь мне запустить локаль браузерного стека в качестве фонового процесса в jenkins, используя WINDOWS для сквозного тестирования транспортира.

Я просматривал эту ссылку, но это для Linux, мне нужно для Windows. https://janmolak.com/jenkins-2-0-pipelines-and-browserstack-bd5a4ed3010d#.gf9pxyhgc Я уже установил двоичный файл browserstack для win 32 в jenkins.


person Anisha RK nair    schedule 16.03.2017    source источник


Ответы (2)


Вы пробовали плагин Jenkins для BrowserStack? Подробнее см. здесь: https://www.browserstack.com/automate/jenkins.

Поскольку вы не используете Java, вы не сможете использовать функцию отчетности подключаемого модуля. Однако вы можете использовать следующие функции, которые предлагает плагин.

1) Управляйте своими учетными данными BrowserStack глобально или для каждого задания сборки.

2) Настройка и демонтаж BrowserStackLocal для тестирования внутренней среды, среды разработки или промежуточной среды.

person Ashwin Gonsalves    schedule 16.03.2017
comment
да, я использую плагин browserstack, но перед запуском теста мне нужно запустить локаль стека браузера, иначе я получу следующую ошибку [Internet Explorer # 21] WebDriverError: [browserstack.local] имеет значение true, но локальное тестирование через BrowserStack не выполняется связано. - person Anisha RK nair; 16.03.2017
comment
Я создал сборку проекта как конвейер в Jenkins, поэтому, как упоминалось в документе, я не вижу параметра конфигурации сборки в конвейере, чтобы установить локальные параметры стека браузера. Есть ли возможность установить его через сценарий конвейера? - person Anisha RK nair; 16.03.2017
comment
Насколько я понимаю, вы выбрали опцию BrowserStack Local в своей конфигурации работы. Здесь плагин добавляет опцию --local-identifier с уникальным значением при запуске бинарника. Вам нужно добавить это уникальное значение в свои тестовые сценарии. Вы добавили возможность String browserstackLocalIdentifier = System.getenv(BROWSERSTACK_LOCAL_IDENTIFIER); И возможности.setCapability(browserstack.localIdentifier,browserstackLocalIdentifier); в ваших сценариях? - person Ashwin Gonsalves; 16.03.2017
comment
Я использую возможности в файле конфигурации стека браузера и не устанавливаю browserstackLocalIdentifier в файле конфигурации стека браузера. - person Anisha 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 } - person Anisha RK nair; 16.03.2017
comment
Если вы используете плагин Jenkins с выбранной опцией BrowserStack Local, вам необходимо добавить возможности, упомянутые выше. В противном случае вы получите сообщение об ошибке [browserstack.local] имеет значение true, но локальное тестирование через BrowserStack не подключено. Что касается команды, которой вы поделились, боюсь, у меня нет информации о ее преобразовании для Windows. - person Ashwin Gonsalves; 16.03.2017

Вот как я заработал:

  1. Установите двоичный файл BrowserStackLocal с их веб-сайта.
  2. Установите подключаемый модуль Jenkins Browserstack как это сделать
  3. Настройте плагин с вашим именем пользователя и ключом доступа и укажите его на загруженный двоичный файл.
  4. Чтобы сеанс маршрутизировал 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;
    
person LoflinA    schedule 27.06.2019