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

Уже второй день не могу разобораться, как запускать (не хедлес) тесты на 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.
В самой джобе:

Вот полный лог, который я получаю: Screenshot by Lightshot

help please

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

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

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

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

1 лайк

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

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

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

Пример:

c:\App\Python27\python.exe blablabla

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

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

Ошибка в коде

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

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

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

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

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

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

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

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

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

2 лайка

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