【发布时间】:2018-12-06 15:27:41
【问题描述】:
我在应用程序中有一个端点。我们为每个请求使用相同的 api,并在参数中使用不同的操作。
网址:
/application/api
示例请求负载 1:
{
"action": "CARD_TRANSACTION_HISTORY",
"data": {
"date_from": "2018-12-01",
"date_to": "2018-12-31",
"total": 5
},
"meta": {}
}
示例请求负载 2:
{
"action": "CARD_BALANCE",
"data": {
"date_from": "2018-12-01",
"date_to": "2018-12-31",
"total": 5
},
"meta": {}
}
示例请求负载 3:
{
"action": "CURRENCY_RATES",
"data": {
"date_from": "2018-12-01",
"date_to": "2018-12-31",
"total": 5
},
"meta": {}
}
上述请求中的动作会因不同的请求而变化。
加载仪表板页面时,我们会触发 3 个具有不同操作的 并发 AJAX POST 请求。
cypress 的问题是您只能为路由指定一个响应,而处理此问题的其他方法是发出顺序请求(我们不能这样做)
即使我们将响应写成一个函数,它也只会被调用一次。
关于我们如何根据有效负载模拟数据有什么想法吗?
【问题讨论】:
-
抱歉,不明白每个请求是否有一个查询字符串或其他使它们独一无二的东西。动作是否在正文中进行?
-
刚刚使用更多示例有效负载编辑了问题。是的,有效负载中的操作对于每个请求都是不同且唯一的
-
我将建议将响应编写为按顺序返回 3 个有效负载之一的函数,直到我读到您的最后一行。我想你可能是 SOL。
标签: javascript ui-automation cypress