我有一个用 Flask 编写的 API,带有 URI
"http://127.0.0.1:5000/idpa/isIPv6"
它的作用是检查我尝试与之通信的设备是否具有属于 IPv6 的网络地址。 根据我正在尝试执行进一步活动的响应, 我写的柏树测试是
it("Website testing",function(){
cy.request({
method: 'GET',
url: "http://127.0.0.1:5000/isIPv6",
timeout:300000
}).then(network_result => {
cy.log(network_result.body)
if(network_result.body.isIPv6 == false)
{
statements
}
else
{
cy.log("IPv6 device, stopping the test")
cy.wait(10000)
expect(true).to.equal(false)
}
})
})
API 调用需要大约 90 秒才能返回响应。
在运行测试文件时,cypress 有时不等待响应,执行控制直接转到 else 块,其中不记录消息或不等待 10 秒,它直接执行 {{1 }} 陈述。当 expect
被注释时,测试成功结束。
我尝试用
编辑 cypress.json 文件 <块引用>{ “请求超时”:300000, "responseTimeout":300000 }
但是这个东西对我也没有用。
如何让 cypress 等待响应?
答案 0 :(得分:1)
尝试使用别名:
it("Website testing",function(){
cy.request({
method: 'GET',
url: "http://127.0.0.1:5000/isIPv6",
timeout:300000
}).as("getData");
cy.wait('@getData'); // <--- wait explicitly for this route to finish
cy.get("@getData").then(network_result => {
cy.log(network_result.body)
if(network_result.body.isIPv6 == false)
{
statements
}
else
{
cy.log("IPv6 device, stopping the test")
//cy.wait(10000)
expect(true).to.equal(false)
}
})
})