Size: a a a

testing_in_python

2020 April 07

Z

Zloikurt in testing_in_python
файл лежит в папке features\test_one.py
запускаю pytest test_one.py
пробовал маркер вешать и запускать так
pytest -m smoke
источник

FB

Foo Bar in testing_in_python
кек
источник

Z

Zloikurt in testing_in_python
запускал как при нахождении в папке с файлом так и на уровень выше.
источник

ИС

Игорь Середа in testing_in_python
Gregory Gruzdov
По опыту, если планируется много UI тестов (большой продукт) лучше добавить промежуточный уровень абстракции между тестами и PO, назовем его Actions. Итого:
WebDriver (предоставляется браузером для взаимодействия с сайтом)
Selenium ( юзает WebDriver)

BasePage + PageObject слой - простые действия с элементами сайта, для каждой страницы свой

Actions слой - осмысленные действие  пользователя (липа логин, купить товар), которые используют один и более метод слоя PageObject.
- По опыту, для каждого модуля PageObject лучше использовать свой отдельный Actions слой.
- При этом, Actions могут использовать друг друга и чужой PageObject, но PageObject использовать чужой PageObject не должны.

Tests - использует Actions слой

Кстати, BasePage можно для всех PageObject можно сделать один, просто храня ссылку сайта  внутри PageObject класса


Выглядеть функция login Actions слоя будет примерно так

def login(login_name, password):
   login = SomeLoginPage() - в класс PO может быть встроено открытие страницы прямо в инит с флажком отключения, если не надо
   login.enter_login(login_name)
   login.enter_password(password)
   login.click_login()

Обратите внимание, что в этом случае PO слой содержит атомарные операции, пихать в методе проверки не стоит.
Если тебе придётся сделать какое-то базовое действие вебдрайвера, например, единично ткнуть на какой-то элемент, тоже для этого будешь отдельный action писать, чтобы развязать слои? Или начнёшь их смешивать?
источник

FB

Foo Bar in testing_in_python
Игорь Середа
Если тебе придётся сделать какое-то базовое действие вебдрайвера, например, единично ткнуть на какой-то элемент, тоже для этого будешь отдельный action писать, чтобы развязать слои? Или начнёшь их смешивать?
Перемешивать соли
источник

FB

Foo Bar in testing_in_python
А потом уже писать
источник

FB

Foo Bar in testing_in_python
Zloikurt
запускал как при нахождении в папке с файлом так и на уровень выше.
pytest features\test_one.py сделай
источник

Z

Zloikurt in testing_in_python
pytest features\test_one.py сделай - сделал. таже фигня.
collected 0
источник

FB

Foo Bar in testing_in_python
Ты на винде?
источник

Z

Zloikurt in testing_in_python
нет, на дебиане
источник

M

Merg in testing_in_python
из какой директории запускаешь?
источник

FB

Foo Bar in testing_in_python
Zloikurt
нет, на дебиане
pytest features/test_one.py тогда так еще попробую)
источник

FB

Foo Bar in testing_in_python
Сорри, у меня дислексия я не различаю слеши
источник

Z

Zloikurt in testing_in_python
Но самое забавное то , что если плагином селениума записать сценарий, экспортить его в пайтест, и положить в туже папку - его находит.
источник

FB

Foo Bar in testing_in_python
Ну, так а файл как называется?
источник

FB

Foo Bar in testing_in_python
Который плагин генерит.
источник

Z

Zloikurt in testing_in_python
Я негодую, что не так. 2 строки. всего 2 строки
источник

Z

Zloikurt in testing_in_python
аналогично экспортирую в test_two.py
источник

ИС

Игорь Середа in testing_in_python
Значит дело в содержимом.
источник

M

Merg in testing_in_python
а в pytest.ini ничего не добавлял?
источник