javascript - 赛普拉斯不会等待响应表单 API 调用
问题描述
我有一个用 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 秒,它直接执行expect
语句。当expect
被评论时,测试成功结束。
我尝试使用编辑 cypress.json 文件
{ "requestTimeout":300000, "responseTimeout":300000 }
但这件事对我也不起作用。
如何让柏树等待响应?
解决方案
尝试使用别名:
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)
}
})
})
推荐阅读
- php - ERR_SSL_VERSION_OR_CIPHER_MISMATCH- 在我的网站 RiteOnPolish.com
- sql - 额外的 XML 数据键值对到 SQL
- python - 将列表项拆分为单独的列 - 熊猫数据框
- java - 是否可以从坐标生成对 JButton 的引用?
- java - 如何在包含 magisk 应用程序的根设备中限制我的 android 应用程序?
- android - 在 Play Store / App Store 购买后触发 HTTP 请求
- c# - 为什么 NLog 在控制器中工作而不在 Program.cs 中工作?
- php - Laravel 'belongsTo' 关系不起作用,不知道为什么
- asp.net-core - 将自定义模型类添加到 Swagger 文档
- python - 计算numpy数组中一行中重复元素的数量