Jenkins: как установить несколько версий браузеров и запустить из в Дженкинс?

Как установить несколько версий браузеров и запустить из в Дженкинс?

Мое задание заключается в том, что нужно автоматизировать тесты и сделать CI в Jenkins на разных версиях браузеров: Chrome и Firefox.

Как установить несколько версий браузеров через Дженкинс на виртуальной машине и запустить их?

используйте selenoid (там с коробки поддержка многих браузеров есть, Вам хватит для задания) + параметризованные тесты и вперёд! Сделайте так же параметризованную джобу с Choice parameters где будет выбор на каких браузерах можно запускать тесты и дело в шляпе :wink:

1 лайк

спасибо за ответ)

я понимаю то, что вы написали, но как это делать навыков нет.
про selenoid слышал, но нет опыта работы с ним.

про Choice parameters найти бы где-нибудь подробную инструкцию с описанием…)

Не конкретно про python, но там наверняка тоже тестовый фреймворк умеет принимать параметры на вход.

Так вот когда вы запускаете тесты, вы передаете туда параметры - браузер/стартовый урл (например) и прочее.

А в фабрике браузеров уже смотрите - если пришёл параметр Browser=Chrome, например, то создаём браузер - хром.

Ну и choice parameter при сборке проекта - выбор какой браузер использовать.

1 лайк

тут GitHub - aerokube/selenoid: Selenium Hub successor running browsers within containers. Scalable, immutable, self hosted Selenium-Grid on any platform with single binary. есть инфа как сделать + видосы! там разворачивать 5 мин делов (без опыта), остальное тесты сделать и запускать их через Jenkins, хотя по началу отлаживайте их через IDE

1 лайк

спасибо за ответ!

вопрос к вам: при запуске этой команды

 $ curl -s https://aerokube.com/cm/bash | bash \
    && ./cm selenoid start --vnc --tmpfs 128

выдаёт ошибку:

bash:  : No such file or directory
(23) Failed writing body

не знаете в чем может быть причина?

и еще вопрос: в инструкции написано

That's it! You can now use Selenoid instead of Selenium server. Specify the following Selenium URL in tests:

http://localhost:4444/wd/hub

но я нигде вроде не указываю Selenium URL в тестах… где его нужно указать??

на счет ошибки не знаю, нужно разбираться, ибо абстрактную проблему в вакууме трудно решать :smile: На счет хаба то нужно будет его указывать либо в коде либо как дефолт параметр в дженкинсе

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

для этого документация есть

Указывать там где вы драйвер прописываете.
Пример на selenide

    @BeforeClass
    public void setUp() {
    Configuration.browser = "chrome";
    Configuration.remote = "YOUR_URL"; // тут ваш url до remote сервера
}

Но как по мне так дженкинс вам пока не надо, разберитесь просто как запускать с remote и продолжайте изучайте доки, когда не будет вопросов “но я нигде вроде не указываю Selenium URL в тестах… где его нужно указать??” тогда можно уже заниматся jenkins

1 лайк

Если кто-то столкнется с подобной темой, вот нашел видео, где все подробно показывается:

1 лайк

Если можно подскажите, где посмотреть в документации Jenkins??
Я написала небольшой учебный тест:IntellijIDEA+Java+Selenoid. Тест находится в основной системе - это Windows, здесь же и Jenkins. Создала виртуальную машину Linux, поставила на нее Docker и Selenoid.Запускаю виртуальную машину, Selenoid, запускаю тест и в окне браузера основной ОС могу видеть выполнение тестов на виртуальной машине.
В каком разделе документации Jenkins можно посмотреть информацию о том как в джобе подключить тест, в котором задействован Selenoid??
Пожалуйста не судите строго, я начинающий автоматизатор