на самом деле я борюсь с отсутствием более широкой картины того, как действовать, вот случай:
У меня есть набор тестов транспортира, работающий без головы с использованием двоичного файла 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 и т. д. в Дженкинсе)