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

Как запускать Selenium тесты на python в Jenkins (2)

jenkins
selenium
python
Теги: #<Tag:0x00007f7b61e5a928> #<Tag:0x00007f7b61e5a7c0> #<Tag:0x00007f7b61e5a680>

(Vadim Kovrizhkin) #1

Уже второй день не могу разобораться, как запускать (не хедлес) тесты на python в Jenkins.
Была тема Запуск Selenium тестов на Python в Jenkins,
где Михаил ответил:

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

В самой джобе указываете нужный запуск с генерацией junit xml репорта. Потом в post actions указывайте результат, где у вас храниться junit xml ну и все.

Я использую не py.test, а unittest. И генерация junit xml репорта. Но видимо что-то я не так делаю, т.к. билд все время фейлится. В логах пишет: C:\Windows\TEMP\hudson217908791963194488.sh: line 2: python: command not found

В “Configure System” я указал путь к гиту и путь к Python файлу python.exe.
В самой джобе:

Вот полный лог, который я получаю: http://prntscr.com/awog17

help please


(rmerkushin) #2

У вас Python прописан в path? Насчёт запуска не хедлесс не скажу как сделать, но в чем смысл так делать? Используйте просто командную строку тогда.


(Vadim Kovrizhkin) #3

в Path в системных переменных? Да, прописан.
Смысл в том, чтобы разобраться с jenkins.


(Vadim Kovrizhkin) #4

насколько я понимаю, что jenkins не может найти Python в переменных. Но Python добавлен в системных конфигурациях в самом jsnkins и на ПК (jenkins установлен локально) тоже все добавлено


(rmerkushin) #5

Как вы запускаете тесты? Меня очень смущает в логе ошибка выполнения shell учитывая то что Jenkins на Windows


(Dzmitry Ihnatsyeu) #6

конечно не пробовал запускать тесты в jenkins на windows, но проблема точно в том, что user jenkins не может найти путь запуска python. Возможно для разных пользователей переменная PATH различная. Я вам советую попробовать вместо python python_script.py использовать полный путь, вроде C:/Python/python.exe [script]


(Bolatbek) #7

Смущает ошибка *.sh - это для линуксовой версии.
Под виндой лучше использовать шаг:

“Выполнить команду Windows”, и чтобы уже наверняка - писать везде полный путь до Python.exe/py.test.exe или что у вас там.

Пример:

c:\App\Python27\python.exe blablabla

(Vadim Kovrizhkin) #8

Да, вы правы. Поставил Python Builder

и уже другая ошибка:)

Ошибка в коде

Причем если запускать из pyCharm или командной строки, то все ок работает.


(Bolatbek) #9

Запуск работает - если с локальной машины запустить? Или на самом сервере?
На сервере используется webdriver или selenium grid?

Попробуйте другой локатор, у вас элемент недоступен.


(Vadim Kovrizhkin) #10

Скорей всего нужно как-то указывать путь к firefox. Через селениум грид заработало

Но блииин
теперь тест репорт не находит:)


(Vadim Kovrizhkin) #11

Наверно как-то нужно сказать воркспейсу обновиться после выполнения теста и перед тем, как взять репорт


(Vadim Kovrizhkin) #12

Разобрался:)
Всем большое спасибо


(Bolatbek) #13

В чем было дело? )


(Vadim Kovrizhkin) #14

Все банально просто:) Я неправильно указывал путь к репорту:)
Тему как-то можно закрыть?
Наверное сделаю статью какую-то для таких нубов как я))
Мне этого очень не хватало:)


(Bolatbek) #15

Напротив правильного совета ставишь галочку.