Выбор ответа Middle Page Object и архитектура обновлено
Где держать проверки
Вопрос
Метод LoginPage.login() внутри проверяет, что открылся дашборд. Чем это неудобно?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Метод нельзя переиспользовать в негативном тесте, где вход не проходит. Проверка внутри действия зашивает ожидаемый результат.
Варианты ответа
- Page Object не должен обращаться к браузеру, проверки идут через API
- Метод нельзя переиспользовать в негативном тесте, где вход не проходитправильный ответ
- pytest не засчитывает assert внутри классов, проверка будет пропущена
- Тест станет быстрее, потому что проверка совмещена с действием
Разбор
Проверка внутри действия зашивает ожидаемый результат. Негативному тесту (неверный пароль) придётся писать отдельный метод. Частая практика: Page Object отдаёт состояние, тест проверяет. pytest засчитывает assert в любом вызываемом коде, а скорость тут ни при чём.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.