我有一个HTML输入字段,显示为
<input id="dateId"
placeholder="YYYY-MM-DD"
type="date"
pattern="[0-9]{4}-[0-9]{2}-[0-9]{2}"
>
我想在cypress(v3.1.0)中运行测试,以将数据输入到该字段中,然后清除该字段。我能够在该字段中输入数据。但是,当我尝试清除赛普拉斯字段时会抛出错误。
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()输入日期输入需要格式为'yyyy-MM-dd'的有效日期。您通过了:{selectall} {del}
如何清除此输入字段?
答案 0 :(得分:0)
Cypress的.clear()
命令是.type({selectall}{backspace})
的别名。 Typing on a date input受制于某些validation code,后者只能使用特定的日期字符串。
解决方法是更改元素值。这可以通过调用jQuery val()
命令来完成。
cy.get('#dateInput').invoke('val', '');
答案 1 :(得分:0)
以下为我工作。
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()