Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

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

ci
jenkins
firefox
chrome
python
webdriver
Теги: #<Tag:0x00007f7b62b39130> #<Tag:0x00007f7b62b38ff0> #<Tag:0x00007f7b62b38e60> #<Tag:0x00007f7b62b38d20> #<Tag:0x00007f7b62b38bb8> #<Tag:0x00007f7b62b389d8>

#1

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

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

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


QA weekly #33: Jenkins, BDD, 7 советов, инструментоы для регресии,
(Roy Obenon) #2

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


#3

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

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

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


(Alexandr D.) #4

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

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

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

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


(Roy Obenon) #5

тут https://github.com/aerokube/selenoid есть инфа как сделать + видосы! там разворачивать 5 мин делов (без опыта), остальное тесты сделать и запускать их через Jenkins, хотя по началу отлаживайте их через IDE


#6

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

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

 $ 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 в тестах… где его нужно указать??


(Roy Obenon) #7

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


#8

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


(Roy Obenon) #9

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


(Fiodar Motin) #10

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

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

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


#11

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


(Development Temp Vika) #12

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