Очистить поле даты в кипарисовом тесте - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть поле ввода HTML, которое отображается как

<input id="dateId"
  placeholder="YYYY-MM-DD"
  type="date"
  pattern="[0-9]{4}-[0-9]{2}-[0-9]{2}"
>

Я хотел бы запустить тест на кипарисе (v3.1.0), чтобы ввести данные в поле, а затем очистить поле. Я могу ввести данные в поле. Тем не менее, когда я пытаюсь очистить поле Cypress выдает ошибку.

cy.get('#dateId').type('2018-12-16');
// Save and reload
cy.get('#dateId').should('have.value', '2018-12-16');
// Some more testing

cy.get('#dateId').clear();

CypressError: Для ввода даты с помощью cy.type () требуется действительная дата в формате «гггг-мм-дд». Вы прошли: {selectall} {del}

Как очистить это поле ввода?

Ответы [ 2 ]

0 голосов
/ 05 марта 2019

Ниже сработало у меня.

cy.get('.date_of_birth .date-picker input').type('01/06/1992') cy.get(".date_of_birth .date-picker input").should("have.value", "01/06/1992") cy.get(".date_of_birth .date-picker input").clear()

0 голосов
/ 07 ноября 2018

Обновление : эта проблема была исправлена ​​ и была выпущена в Cypress 3.1.5


Команда Cypress .clear() является псевдонимом для .type({selectall}{backspace}). При вводе даты применяется некоторый проверочный код , который может принимать только определенную строку даты.

Обходной путь - изменить значение элемента. Это можно сделать, вызвав команду jQuery val().

cy.get('#dateInput').invoke('val', '');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...