我正在尝试设置我的第一个赛普拉斯测试,但找不到如何使用cy.get()
命令获得的元素之一具有特定值。
也许我的方法不正确。这就是我想做的:
我有一个有两个日期的表格。提交表单后,后端还有一些其他验证。不能选择两个日期格式为同一日期(例如)。如果存在验证错误,我想在表格下方显示此错误。这将显示一个span
元素(至少这是Material Ui的工作方式)。
现在通过测试,我想获取所有span
元素,看看它们中是否有一条错误消息。
我该如何实现呢?
我尝试了cy.get('span').contains('Some error message')
,但这似乎不起作用。
答案 0 :(得分:1)
基于Cypress documentation,您可以尝试:
cy.get('span').should('have.text', 'Some error message')
答案 1 :(得分:0)
一种方法是使用each(),它将遍历所有span元素,然后您可以提取innerText并根据错误消息对其进行验证。
cy.get('span').each(($elm) => {
cy.wrap($elm).invoke('text').then((text) => {
if (text == "Error Message") {
//Do Something
}
else {
//Do Something
}
})
})