У меня есть ввод для формы входа, которая требуется:
<input
autoComplete = "email"
defaultValue = {email}
disabled = {state === 'submitting'}
id = "email"
name = "email"
placeholder = {t('user-authentication:email-placeholder')}
required // HERE!
type = "email"
/>
Как я могу проверить, что ввод требуется с Playwright? Мое родное предупреждение браузера в Chromium: «Пожалуйста, заполните это поле».
Есть ли способ проверить/утвердить это предупреждение в Playwright? Или другой способ проверить, что ввод требуется?
Я пытался ничего не писать во вводе с помощью .fill(''), а затем нажимал ввод с помощью page.keyboard.press('Enter'), но это не приводило к появлению предупреждения.
Как насчет нажатия Enter напрямую, без использования fill()? Должно появиться всплывающее окно





Если сообщение отображается в браузере, а не добавляется в DOM, вам будет сложно протестировать его непосредственно в Playwright.
Вы можете проверить наличие атрибута required и быть уверенным, что браузер отобразит предупреждение.
await page.locator('input#email[required]')
Также есть проверка ограничений, которую вы можете подать
Если элемент является обязательным и значением элемента является пустая строка, то элемент страдает от valueMissing и элемент будет соответствовать псевдоклассу
:invalid.
await page.locator('input#email[required]:invalid')
Я согласен с Лейлой. Если поле является обязательным, браузер должен отображать предупреждение, вы должны доверять браузеру, если браузер не работает, вы не сможете решить проблему самостоятельно, поэтому я думаю, что это хорошая проверка. Если вам этого недостаточно, возможно, вам нужно поговорить с разработчиками, чтобы добавить какие-то другие ошибки.
Попробуй это. Добавьте пустое место в поле ввода
fill(' '). Затем нажмитеBackspacepage.keyboard.press('Backspace').