Cypress - ошибка тестирования msg в формах запускает загрузку страницы - PullRequest
0 голосов
/ 10 сентября 2018

Я пытаюсь проверить обязательные поля формы и сообщение об ошибке, которое отображается при отправке формы без (допустимого) ввода. Это код кипариса, который я использую. Сначала я утверждаю, что форма есть, граница поля ввода серого цвета и ошибка msg не отображается. Затем я нажимаю кнопку отправки и ожидаю, что граница поля ввода станет красной, сообщение об ошибке будет отображаться и также будет красным.

cy.get('[data-module="questionnaire"] form').should('be.visible')
cy.get('[data-module="questionnaire"] form label').should('contain', 'Question 1')
cy.get('[data-module="questionnaire"] form input')
    .should('contain', '')
    .should('have.css', 'border', '1px solid rgb(204, 204, 204)')
cy.get('[data-module="questionnaire"] form .a-error-block').should('not.exist')
cy.get('[data-module="questionnaire"] form button').invoke('text').should('equal', 'Next question')
cy.get('[data-module="questionnaire"] form button').click()
cy.get('[data-module="questionnaire"] form input')
    .should('contain', '')
    .should('have.css', 'border', '1px solid rgb(234, 40, 40)')
cy.get('[data-module="questionnaire"] form .a-error-block')
    .should('be.visible')
    .should('have.css', 'color', 'rgb(234, 40, 40)')
    .invoke('text').should('equal', 'This field is required')

Ошибка при первом утверждении после щелчка, причина, по-видимому, заключается в загрузке страницы после отправки формы, которая запускается Cypress. Это сбрасывает вопросник до состояния, в котором еще нет формы, и на этапе подтверждения выполняется поиск формы. Это не должно обновлять по моему мнению. Если я «замораживаю» воспроизведение щелчка, я вижу, как поле ввода меняет цвет, и появляется сообщение об ошибке.

Я вижу это в списке воспроизведения после щелчка:

(FORM SUB)--submitting form--
(PAGE LOAD)--page loaded--
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...