t.me/atinfo_chat Telegram группа по автоматизации тестирования

В jenkins при запуске джобы не находит тесты Python на pytest

Теги: #<Tag:0x00007f07fbd99310> #<Tag:0x00007f07fbd991f8> #<Tag:0x00007f07fbd99108> #<Tag:0x00007f07fbd98fc8> #<Tag:0x00007f07fbd98ed8> #<Tag:0x00007f07fbd98de8>

Добрый день.
Есть небольшие тесты на Python+selenium+pytest, учусь настраивать джобы для jenkins.
При создании пишет, что не может найти директорию с файлами, хотя если зайти по указанной директории, то они есть.
Так же пробовал юзать команду pip install -r requirements.txt для установки всех указанных дополнений в файле, но тоже писало, что не может найти директорию. После указания всех по отдельности в jenkins заработали.

Для проверки - укажите полный путь к test_autorization.py в команде py.test
А, вроде, понял - надо обратные слэши использовать: test/positive_test/lalalal

1 Симпатия

только указав полный путь с обратными слешами жоба пометилась как SUCCESS
py.test C:\Windows\system32\config\systemprofile\AppData\Local\Jenkins.jenkins\workspace\test_project\test\positive_tests\test_authorization.py

Но тесты даже не запустились

Никогда не работал с питоном, но попробоую предположить:
когда тесты собираеются на maven, команда запуска тестов НЕ выглядит как путь к файлу *.java или *.class.
она выглядит как [путь к сборщику]\mvn.cmd -DTestFileName=FileName clean test

то есть не должно ли у вас в Build написано быть phyton py.test ?

нет, там указывается путь к сборщику чуть выше

У вас в системе и в Jenkins разные версии pip. Та, что в Jenkins не поддерживает флаг --allow-external о чем вам прямо говорит ошибка.

А SUCCESS вы получили, потому-что вы не сказали вашему bash-скрипту падать на ошибке, добавьте set -e:

   -e  Exit immediately if a simple command exits with a non-zero status, unless
       the command that fails is part of an until or  while loop, part of an
       if statement, part of a && or || list, or if the command's return status
       is being inverted using !.  -o errexit