我有一个页面用于上传文件,该文件将由服务器在后台处理。然后我有了第二个页面,其中只显示已处理的文件,这可能需要5秒钟的时间。
目前我的代码就是这样的
cy.visit('/')
cy.get('.busy-spinner').should('not.exist', { timeout: 10000 })
cy.contains('Submit file').click()
cy.get('[id="requestinputFile"]').attachFile('test-file.txt');
cy.contains('Upload').click()
cy.contains('.notifications', 'Your file has been uploaded', { timeout: 10000 })
cy.wait(5000)
cy.visit('/processed-files')
cy.get('[data-render-row-index="1"] > [data-col-index="1"]').contains(filename)
有时等待的时间太长,有时不够长。我想做的是去 /processed-files
立即检查文件名为my的行是否存在。
如果确实如此,则继续。否则
暂停1秒钟
单击特定按钮(重新加载页面上的数据)
等待。忙碌微调器不存在(数据已重新加载)
检查该行是否存在
如果通过,则循环-但最长持续30秒。
这种模式将在许多地方重复,实现这一点的最佳方式是什么?
2条答案
按热度按时间70gysomp1#
你能等一下文件名吗?
如果需要重新加载以获得正确的行条目,则可以使用重复函数
ecfsfe2w2#
您可以创建一个递归函数,在该函数中,您可以通过重新加载页面最多30秒来检查文件名的存在。如果找到文件名,则退出该函数。