嗨,我以前遇到过这个问题。
我认为这是相同的场景,赛普拉斯测试运行程序只是继续等待页面加载事件,而不是在文件成功下载时转到下一个测试命令。
添加自定义 cy.window 事件以侦听单击事件并添加超时以“强制”重新加载当前页面,您需要调整超时值以使其适合您的测试。
it.only('tes button download', ()=> {
// visit url
cy.visit("/spmb/list_nilaiseleksi");
cy.get('#wrap-button > .btn').click()
//download
cy.window().document().then(function (doc) {
doc.addEventListener('click', () => {
setTimeout(function () { doc.location.reload() }, 5000)
})
cy.get(':nth-child(9) > .col-md-12 > .btn').click()
})
})
在 cypress github 问题上提供更多详细信息和讨论:
https ://github.com/cypress-io/cypress/issues/14857