我在代码中使用了if / else条件,但是我猜我在if / else中使用的条件不合适

时间:2020-08-07 10:52:08

标签: javascript conditional-statements cypress

我在代码中使用了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。

1 个答案:

答案 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>)

这将永远是真的。