Предпочтите get_by_label для полей и get_by_role для кнопки, а технические селекторы используйте для явно заданных контейнеров. Действие login должно дождаться результата.
Как выбрать устойчивые локаторы формы входа Playwright
Предпочтите get_by_label для полей и get_by_role для кнопки, а технические селекторы используйте для явно заданных контейнеров. Действие login должно дождаться результата.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Форма имеет label Username и Password, кнопку Login, контейнер form#login и сообщение #flash. Как организовать LoginPage и что проверять после отправки?
Ответ
Предпочтите get_by_label для полей и get_by_role для кнопки, а технические селекторы используйте для явно заданных контейнеров. Действие login должно дождаться результата.
Храните локаторы в Page Object, заполнение вынесите в fill_credentials. Для ошибки проверяйте видимое сообщение и сохранение формы; для успеха — уникальный элемент защищённой страницы. Наличие #flash само по себе не различает успех и ошибку: проверяйте содержание или семантический статус. Не сохраняйте пароль в объекте дольше необходимого.