#text #cypress
Вопрос:
Небольшая предыстория по этому поводу такова:
Допустим, у меня есть форма с «n» полями ввода.
Я проверяю, будет ли ввод данных в ключевое поле формы автоматически заполнять другие (n-1) поля. На данный момент я не беспокоюсь о том, какие данные автоматически заполняются, только о том, заполняются ли они.
Как мне это сделать в Cypress?
Комментарии:
1. Пожалуйста, поделитесь своим кодом, который вы пробовали вместе с HTML dom, а также, если вы столкнулись с какими-либо ошибками.
Ответ №1:
Вот что я считаю воспроизводимым примером
<body>
<form>
<input id="key" onblur="autofill()" />
<input id="1" />
<input id="2" />
<input id="3" />
</form>
<script>
function autofill() {
[1,2,3].forEach(id => {
const input = document.getElementById(id)
input.value = "Value " id
})
}
</script>
</body>
и вот вам тест
cy.get('#key').type('the key').blur()
cy.get('input:not(#key)')
.each($nonKeyInput => {
cy.wrap($nonKeyInput)
.invoke('val')
.should('not.be.empty') // passes
})
Сделайте ошибку в приложении
[1,2].forEach(id => {
и тест проваливается.