как разместить и использовать безголовый двоичный файл Chrome в экземпляре jenkins (linux)

на самом деле я борюсь с отсутствием более широкой картины того, как действовать, вот случай:

У меня есть набор тестов транспортира, работающий без головы с использованием двоичного файла Chrome 60 (бета), указав двоичное местоположение в параметрах хрома в среде Windows.

Я хочу перенести это на доступный экземпляр CI CD Jenkins (linux) и запустить там без головы. Я могу думать о двух подходах:

Подход 1:

Установите плагин chrome в jenkins, чтобы chrome стал доступным для управления драйвером chrome ‹ модулями веб-драйвера, чтобы я мог использовать работу jenkins, как показано ниже:

npm install

npm run start (из скрипта запускает webdriver-manager start )

npm run update (из скрипта запускает обновление webdriver-manager)

npm run test (из скрипта, запускает транспортир protactor.conf.js)

Подход 2: установите хром как модуль, как и другие модули npm. Затем

npm install

npm run start (из скрипта запускает webdriver-manager start )

npm run update (из скрипта запускает обновление webdriver-manager)

npm run test (из скрипта, запускает транспортир protactor.conf.js)

Я изучил модули simple-headless-chrome, headless-chromium, chrome-runner npm, но не смог понять, как они будут работать.

Насколько я понимаю, каким-то образом иметь двоичные файлы хрома в node_modules и указать путь для двоичных файлов хрома в параметрах хрома, чтобы драйвер хрома мог его найти.

Может ли кто-нибудь просветить меня немного о более широкой картине и о том, как все будет работать для второго подхода. Поскольку я не хочу иметь доступ к установке плагина Chrome на сервере jenkins и хочу, чтобы мои настройки были независимыми (доступны nodejs и npm, java и т. д. в Дженкинсе)


person krishan    schedule 27.07.2017    source источник


Ответы (1)


Об «использовании двоичного файла Chrome 60 (бета) путем указания двоичного местоположения в параметрах хрома в среде Windows». Вам это не нужно, транспортир дает вам способ указать теги для запуска двоичного файла chrome:

https://github.com/angular/protractor/blob/master/docs/browser-setup.md#using-headless-chrome

Я не думаю, что у вас есть модуль node для установки chrome или, по крайней мере, что-то надежное, например, сам google chrome, поэтому я установил google chrome на свой сервер ubuntu, на котором работает подчиненный jenkins, и теперь у вас есть google-chrome двоичный файл, который вы можете запустить с --headless.

Раньше мой подчиненный jenkins работал на CentOS, но мне было очень трудно настроить на нем хром, поэтому я перешел на ubuntu.

person luiscvalmeida    schedule 27.07.2017
comment
Я не хочу идти по этому пути, но если это вообще невозможно, тогда мне придется посмотреть, разрешено ли мне устанавливать на сервер. - person krishan; 27.07.2017
comment
хорошо, хром установлен на каждом подчиненном устройстве jenkins администратором, как я могу получить доступ к хрому сейчас, какой каталог jenkins по умолчанию что-то вроде CHROME_BIN, так что я могу указать параметры хрома. - person krishan; 28.07.2017