如何在 Cypress 中使用逻辑 OR 断言

Ara*_*yan 15 javascript assert mocha.js cypress

我有这个代码

cy.get(element).should('contain.text', search_word || search_word.toLowerCase())
Run Code Online (Sandbox Code Playgroud)

我收到这个错误

expected <div.games__element__title.card-title.h5> to contain text Hot, but the text was Ultimate hot
Run Code Online (Sandbox Code Playgroud)

如何使用 OR 运算符,以便我可以断言元素的文本包含以大写或小写字母书写的搜索词?

dee*_*wan 5

对于文本比较,我建议使用小写比较,而不是使用 OR 方法,将预期文本和实际文本以小写版本进行比较。这是一种更干净的方法。

cy.get(element).invoke('text').should(text => {
  expect(text.toLowerCase()).to.contain(search_word.toLowerCase());
})
Run Code Online (Sandbox Code Playgroud)

另一种选择是使用正则表达式

cy.get(element).invoke('text').should('match', /(h|H)ot/);
Run Code Online (Sandbox Code Playgroud)