【发布时间】:2021-08-17 12:48:04
【问题描述】:
我创建了以下函数,但我很难从最后一个 if 块 (elArr[3]) 中获取返回的内容。
如果我删除所有返回语句并在 if 块中说 put: cy.get(el).click() ,它工作正常,但我不想在此函数中使用该命令,而是在测试中执行,而不是像这样:
cy.traverseIFrame(['1', '2', '3'], 'myelement').click()
有人可以帮我解决这个问题,这让我快疯了。
Cypress.Commands.add('traverseIFrame', (elArr, searchEl) => {
return cy.iframe(elArr[0]).within((res) => {
if (res.find(searchEl).length > 0) {
console.log('true1');
cy.get(searchEl).click(150, 220, {
force: true
});
}
return cy.iframe(elArr[1]).within((res) => {
if (res.find(searchEl).length > 0) {
console.log('true2');
cy.get(searchEl).click(150, 220, {
force: true
});
}
return cy.iframe(elArr[2]).within((res) => {
if (res.find(searchEl).length > 0) {
console.log('true3');
cy.get(searchEl).click(150, 220, {
force: true
});
}
return cy.iframe(elArr[3]).within((res) => {
if (res.find(searchEl).length > 0) {
console.log('true4');
return cy.get(searchEl);
}
});
});
});
});
});
【问题讨论】:
标签: cypress