У меня проблемы с использованием Cypress.
В настоящее время у меня есть 2 проблемы.
- Отправляется форма с protectDefault и страница обновляется.
- Мне нужно
.click()
и ввести, прежде чем я смогу .type()
в него.
-
У меня есть форма, которая предотвращает, и вы можете видеть из теста, который отправляет форму, которая добавляет пустую строку запроса к URL, и ни одно из моих сообщений об ошибках не показывается. На самом деле этого не происходит, когда я сам использую приложение.
it('requires email', () => {
cy.visit('/sign-in')
cy.get('form').contains('Sign in').click()
cy.get('.errors').should('contain', 'Email is required.')
})
Я использую Svelte / Sapper в качестве внешнего интерфейса.
Форма:
<form on:submit|preventDefault={handleSubmit}>
<Input label="Email" type="email" bind:value={email} />
<Input label="Password" type="password" bind:value={password} />
<Button text="Sign in" />
</form>
Вторая проблема заключается в том, что мне нужно .click()
и ввести в свой тест, прежде чем я смогу .type()
в него.
Я должен сделать это:
cy.get('#email').click().type('user@example.com{enter}')
Вместо этого:
cy.get('#email').type('user@example.com{enter}')
Я не уверен, почему это происходит. Если я не щелкаю поле, оно говорит, что поле может иметь атрибут disabled
, чего нет. Когда я тестирую его сам, я не вижу никаких проблем, и снимки dom в Cypress не показывают ничего необычного.
Возможно, это связано с автозаполнением?
Кто-нибудь запускал в эти проблемы?