Выбор ответа Middle Page Object и архитектура обновлено

Где держать проверки

Вопрос

Метод LoginPage.login() внутри проверяет, что открылся дашборд. Чем это неудобно?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Метод нельзя переиспользовать в негативном тесте, где вход не проходит. Проверка внутри действия зашивает ожидаемый результат.

Варианты ответа

  1. Page Object не должен обращаться к браузеру, проверки идут через API
  2. Метод нельзя переиспользовать в негативном тесте, где вход не проходитправильный ответ
  3. pytest не засчитывает assert внутри классов, проверка будет пропущена
  4. Тест станет быстрее, потому что проверка совмещена с действием

Разбор

Проверка внутри действия зашивает ожидаемый результат. Негативному тесту (неверный пароль) придётся писать отдельный метод. Частая практика: Page Object отдаёт состояние, тест проверяет. pytest засчитывает assert в любом вызываемом коде, а скорость тут ни при чём.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме