Javascript 我可以打开cy.wait()超时而不是断言失败吗?
我有一个cypress测试,它突出了冷启动lambda的一个问题。但是,在证明了问题之后,我希望测试通过,处理冷启动并重试,直到冷启动问题得到解决 如果我可以使Javascript 我可以打开cy.wait()超时而不是断言失败吗?,javascript,testing,cypress,Javascript,Testing,Cypress,我有一个cypress测试,它突出了冷启动lambda的一个问题。但是,在证明了问题之后,我希望测试通过,处理冷启动并重试,直到冷启动问题得到解决 如果我可以使cy.wait()不抛出失败断言(因此不停止测试),我就可以打开xhr响应的状态,在x时间内尝试。e、 g context("upload trades", () => { specify("handling cold-start delay", () => { // attempt system acti
cy.wait()
不抛出失败断言(因此不停止测试),我就可以打开xhr响应的状态,在x时间内尝试。e、 g
context("upload trades", () => {
specify("handling cold-start delay", () => {
// attempt system action which will "warm up" cold lambdas
cy.uploadTradeForTomorrow("validTrade_CME_to_KochCE");
// implicitly wait for timeout to occur when posting trade list
cy.wait("@postTradeLists").then(request => {
// handle cold start
if (request.status !== 200) {
cy.log(
"non-200 response; assuming cold start, adding delay and trying again"
);
cy.wait(30000);
// refresh page to re-load Trade Uploads page
// given lambda's now hot
cy.visit("/");
cy.uploadTradeForTomorrow("validTrade_CME_to_KochCE");
// wait for second post, anticipating 200 response (hot-start)
cy.wait("@postTradeLists");
}
});
// check file uploaded successfully
cy.contains("File uploaded successfully").should("be.visible");
cy.get("button")
.contains("OK")
.should("be.enabled");
});
});
然而,当504响应(或更可能的是30000ms超时)从服务器解析时,这在cy.wait(@postTradeLists”)
行上当前失败
有没有一种方法是我不知道的?过度的谷歌搜索没有结果。谢谢。我认为Cypress不关心您请求中的状态代码,因此即使返回504,那么
cy.wait(@postTradeList”)
也不会失败测试。它看起来更像是cy.wait
超时。谢谢,这真的很有帮助!我刚刚将cy.wait(@postTradeLists”)
更新为cy.wait(@postTradeLists)”,{responseTimeout:moretheexpectedmillists}
,并解决了这个问题#我很害怕错误