【发布时间】:2019-01-16 11:55:50
【问题描述】:
我正在使用 Cypress 测试数据导出页面,该页面需要几分钟才能生成导出。该页面不会动态更新,因此我需要让赛普拉斯重新加载页面,直到状态显示为已完成。我查看了 Cypress 文档,但找不到一种方法来检查元素是否存在,如果不存在则抛出异常。
我尝试使用 jQuery,但这导致了无限循环:
describe('test reloading', function () {
it('testSelector reload', function () {
cy.visit('https://docs.cypress.io/api/utilities/$.html#Usage');
let found = false;
while (!found) {
const nonExistent = Cypress.$('.fake-selector');
if (!nonExistent.length) {
cy.reload();
} else {
found = true;
}
}
});
});
【问题讨论】:
-
我面临同样的问题。你有没有找到不用while循环的方法?
-
@Manspof 我添加了一个有效的答案。我无法让它与
while循环一起工作。
标签: cypress