⚠️Использую IDE PyCharm / браузер Chrome
Тестирование можно запустить из командной строки интерпретатора Python, используя шаблон:
python -m pytest [...]
В отличие от запуска напрямую командой: pytest [...], запуск через Python добавляет текущий каталог в sys.path, т.е. позволяет импортировать оттуда модули.
👀
Основная причина, по которой используют запуск через Python, а не через pytest, заключается в том, что псевдоним pytest в вашей локальной среде может указывать на установку, отличную от той, которую вы ожидаете! Например, pytest установлен для Python2, когда вы ожидаете Python3 – т.е. запуск...
Если в тест добавить функцию, которая импортирует запрос к API через какой-нибудь класс (допустим PetFriends), например, из файла api в папке app:
⚡️from app.api import PetFriends⚡️- то товарищ Selenium будет ругаться: 🚫ERROR: not found: ...
✅Задачка решается добавлением пустого файла с именем: __init__.py в папку с тестами. 🔥
Файлы __init__.py необходимы, для того, чтобы Python рассматривал текущую директорию, как пакет. Это делается для того, чтобы предотвратить директории с общим именем, например string, от непреднамеренного скрытия допустимых модулей, которые происходят позже на пути поиска модуля...