Cypress.io中的“或”运算符

时间:2019-10-21 14:59:12

标签: node.js cypress

如果页面结果为“找不到匹配的记录”或“没有可用数据”,则我无法建立成功进行测试的条件。 赛普拉斯中是否存在“或”运算符? (文档中没有)

我尝试使用nodejs进行逻辑运算,但是在第一个条件下cypress抛出错误。

        if (cy.get('.v-table__overflow > table > tbody > tr > td').contains('No matching records found') || cy.get('.v-table__overflow > table > tbody > tr > td').contains('No data available')) {
          cy.log('Record does not exist as Expected!');
        } else {
          cy.pause();
        }

enter image description here

1 个答案:

答案 0 :(得分:2)

您的赛普拉斯代码完全不正确。我建议您检查assertations在赛普拉斯中的工作方式。

更新: 您可以通过执行以下操作来实现它:

cy.get('.v-table__overflow > table > tbody > tr > td').shold('have.not.text', 'No matching records found').and('have.not.text', 'No data available');

cy.get('.v-table__overflow > table > tbody > tr > td').invoke('text').then((text) => {
  expect(text).not.equal('No matching records found')
  expect(text).not.equal('No data available')

})

此外,我看到您正在检查未显示特定消息。相反,请考虑检查是否显示了某些元素。这样测试会更清楚。