我在代码中使用了if / else条件,但是我猜我为if / else使用的条件不合适。需要帮助以获取可以在cypress.io中正确实现的适当条件。
说明-我需要一个条件来实现,例如->当我将在过滤器搜索框上搜索任何文本(例如7月)时,如果该文本存在,则应该可见,但是当搜索到的文本(例如七月)不存在,则它将显示为“无数据”。 因此,为此,我正在尝试执行If / else语句。
如果在下面使用条件->它将获取其中存在文本的元素,该元素应该是可见的,如果发生这种情况,请验证是否存在text(七月) else->将文本显示为“无数据”
为if / else编写的代码:-
其中显示july(text)的第一行的元素->'.ant-table-row> .NameStyling'
namefilteredvalue(): this {
if (cy.get('.ant-table-row > .NameStyling').should('be.visible')) {
cy.contains("july")
}
else {
cy.contains('No Data')
}
return this;
}
面临的问题:-仅验证if语句是否会找到文本,它将显示文本,但在未获取所需文本时不会移动到else语句(可以显示其他文本(无数据))
使用cypress.io。
答案 0 :(得分:0)
虽然我同意Jonah指出的if / else语句不是一个好主意,但是如果被测应用程序不一致并且有时会为用户提供多个选项,则有时您需要它们。有时,我们会受应用程序的功能与最佳测试实践的影响。
那是
cypress commands return cypress promises
所以当您键入
cy.get('').should('be.visible')
它不返回true,它返回可链接的诺言
同样地,
if (cy.get('.ant-table-row > .NameStyling').should('be.visible'))
您真的在打字
if(<cypress promise>)
这将永远是真的。