与this相比,我如何不等待页面load
的事件。我遇到的情况是单击生成表单提交并开始下载。然后,赛普拉斯将等待从未发生的页面load
事件。
我尝试过:
setTimeout(
cy.window().then(win => {
win.dispatchEvent(new Event('load'))
}), 5000);
cy.get('#btn').click();
//and also tried:
cy.get('form.excel-data').submit() //redirect to server
//and:
cy.on('window:before:load', (win) => {
win.removeEventListener('load');
})
cy.get('#btn').click();
**我了解最佳做法,以及不应该下载以测试href
等等的问题,但我的问题仍然存在。
答案 0 :(得分:0)
在应用程序方面解决了它:
//form submit()...
if (window.Cypress) {
setTimeout(() => location.reload(), 3000);
}
提交提交并下载文件后,此应用程序重新加载。虽然它不是完美的,但它可以工作并且不会影响应用程序。我在赛普拉斯上尝试过的许多其他事情(例如捕获异常)也没有用。