nic*_*kel 9 javascript cypress
我正在尝试做一些 Cypress 断言以查看它是否包含一个或另一个字符串。它可以是英语或西班牙语,所以任何一个都应该通过测试。
cy.get(el).should('contain', 'submit').or('contain', 'enviar')
Run Code Online (Sandbox Code Playgroud)
显然不起作用。
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
Run Code Online (Sandbox Code Playgroud)
测试失败,仍在检查两个字符串。
您可以尝试使用正则表达式,请参阅contains#Regular-Expression。
看到这个问题正则表达式包含一个或另一个某些格式
我认为像这样简单的事情就可以做到,
cy.get(el).contains(/submit|enviar/g)
Run Code Online (Sandbox Code Playgroud)
首先在Regex101或类似的在线测试仪上进行实验。
也许用
const runout = ['submit', 'enviar']
const regex = new RegExp(`${runout.join('|')}`, 'g')
cy.get(el).contains(regex)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7765 次 |
| 最近记录: |