javascript - 赛普拉斯 - 如何不等待页面加载事件?
问题描述
与此相反,我如何不等待页面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
等等......我的问题仍然存在。
解决方案
在应用程序端解决了它:
//form submit()...
if (window.Cypress) {
setTimeout(() => location.reload(), 3000);
}
这在提交发生并下载文件后重新加载了应用程序。虽然它并不完美,但它可以工作并且不会影响应用程序。我在 Cypress 上尝试过的许多其他事情,比如捕捉异常,也没有奏效。
推荐阅读
- java - 属性为null时未调用Spring Boot父(2.3.0.RELEASE)异常处理方法
- r - 在 ggplot2 中将堆积条形图组合在一起
- php - 调用“mysqli_stmt_prepare”时是否应该手动检查错误?
- java - Spring 框架 1.1.2 - 具有挑战性...使用没有构建工具(Maven 或 Gradle..etc)的命令行 javac 编译器
- elasticsearch - Packetbeat 似乎正在添加未真正发送的 DNS 数据包
- python - 有没有办法指定应该在每个 Airflow 操作符开始时运行的代码块?
- animation - 一键动画与 lua in LOVE
- python - 代理错误:BeautifulSoup HTTPSConnectionPool
- sql-server - 什么是 SQL Server 中的 Oracle to_date 函数等价物
- python - bot如何从用户python中删除所有角色