【发布时间】:2019-12-04 08:16:08
【问题描述】:
在阅读了很多文档并尝试找到解决我的问题的方法后,我没有找到任何东西,所以我们开始吧。
我在测试端到端流程时遇到以下问题,我正在测试的流程确实会持续启动请求,但在一种情况下,我希望这些请求会停止。换句话说,如果发出请求,我想抛出一个错误,并在没有任何请求的情况下达到超时时继续出错。
cy.wait('@my-request', { timeout: 20000 })
如果应用程序运行良好,我希望这会超时,所以我尝试这样做。
cy.wait('@my-request', { timeout: 20000 })
.its('status').should('not.eq', 404)
.its('status').should('not.eq', 200);
我希望执行链接的任务,但这仅在发出请求时发生,并且尝试使用 .then 但我遇到了同样的问题。
【问题讨论】:
-
不确定您要做什么,但 cy.wait() 只接受路由的别名,而且您似乎正在尝试为请求做些什么?
-
在流程中的某一时刻,应用程序应停止池化 API,我想对此进行测试,如果调用此端点的任何新事件,则测试失败。
-
好的,我猜您正在尝试进行请求轮询,请参阅该链接docs.cypress.io/api/commands/request.html#Request-Polling
-
请求不符合我的要求。我找到了
ci.on('fail')的解决方法 -
不错!,请在下面标记您的 cmets 作为答案,它将对社区有所帮助:)
标签: cypress end-to-end