我正在尝试做一些 Cypress 断言,看看它是否包含一个或另一个字符串。它可以是英语或西类牙语,因此任何一个都应该通过测试。
cy.get(el).should('contain', 'submit').or('contain', 'enviar')
显然行不通。
const runout = ['submit', 'enviar']
const el = '[data-test=btn-submit]'
function checkArray(arr, el) {
for(let i = 0; i < arr.length; i++) {
if(cy.get(el).contains(arr[i])) {
return true
} else {
if (i === arr.length) {
return false
}
}
}
}
cy.expect(checkArray(runout,el)).to.be.true
测试失败,仍然检查两个字符串。
最佳答案
你可以试试正则表达式,见contains#Regular-Expression .
看这个问题Regular expression containing one word or another对于某些格式
我认为像这样简单的事情就可以做到,
cy.get(el).contains(/submit|enviar/g)
首先在 Regex101 上进行实验或类似的在线测试器。
也许可以用
const runout = ['submit', 'enviar']
const regex = new RegExp(`${runout.join('|')}`, 'g')
cy.get(el).contains(regex)
关于javascript - Cypress 期望元素包含一个字符串或另一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58176344/