KoK*_*oKa 5 javascript automated-tests cypress
只是想知道是否有一种方法可以使用 cypress测试元素是否包含text_A或text_B。例如,我有一个元素填充了从 API 请求返回的错误,我想检查错误消息是否包含text_A或text_B。尝试了以下代码,但它仅在存在text_A时才有效,并且在返回text_B时失败。我没有收到任何来自 cypress 的无效语法错误,任何帮助将不胜感激。
cy.get('body').then((body) => {
if (body.find('#request-error').length > 0) {
cy.get('#request-error').then((el)=> {
assert.include(el.text(), ('text_A' || 'text_B'));
});
} else {
// DO SOMETHING ELSE
}
});
Run Code Online (Sandbox Code Playgroud)
本质上,您有一个可能的错误消息数组,因此您可以测试该数组中是否存在该元素的文本。
expect(['text_A', 'text_B']).to.include(el.text())
Run Code Online (Sandbox Code Playgroud)
另一个读起来更好的选择是使用.oneOf
expect(el.text()).to.be.oneOf(['text_A', 'text_B']);
Run Code Online (Sandbox Code Playgroud)
https://docs.cypress.io/guides/references/assertions.html#BDD-Assertions
| 归档时间: |
|
| 查看次数: |
2981 次 |
| 最近记录: |