在Cypress中,如何在主体中存根带有参数的POST API请求?
我正在用Cypress编写一个端到端测试,我想存根我的应用程序发出的网络请求。具体地说,我想剔除正文中有参数的多个POST请求,并根据这些参数更改我的模拟响应 我想做一些像在Cypress中,如何在主体中存根带有参数的POST API请求?,cypress,stub,Cypress,Stub,我正在用Cypress编写一个端到端测试,我想存根我的应用程序发出的网络请求。具体地说,我想剔除正文中有参数的多个POST请求,并根据这些参数更改我的模拟响应 我想做一些像 cy.route({ method: "POST", url: "/todos/add" params: { "urgency": 3, "stakeholder_id": "SKH001" }, response: "fixture:add1.json", }) cy.route({
cy.route({
method: "POST",
url: "/todos/add"
params: {
"urgency": 3,
"stakeholder_id": "SKH001"
},
response: "fixture:add1.json",
})
cy.route({
method: "POST",
url: "/todos/add"
params: {
"urgency": 1,
},
response: "fixture:add2.json",
})
但是通读之后
而且,我看不到一种受支持的方法来检查正在存根的请求中的参数
我可以通过将函数传递给cy.route
的onRequest
参数来完成此操作吗?如果是这样,我将从告诉cypress“此路由实际上不处理此请求”的函数返回什么
请参阅他们的教程:您也可以使用intercept方法
cy.intercept('POST', <your api end point>, {response:
<your json file path>}).as('postAPI')
cy.intercept('POST',{响应:
}).as('postAPI'))
那么您想根据车身返回不同的夹具?请参阅中的“响应函数”示例-您需要在RoutedData
中使用响应函数吗?我相信响应函数只启动一次,而不是每个路由。这个问题可能会提供一些想法。请原谅我的无知,参数是否重要,以便您可以返回不同的响应?@Maccurt yes,将更新问题以使其更清楚。在这些情况下,指出发生了什么变化并解释其重要性非常有用。在本例中,我看到您将params
更改为body
。但如果没有解释,这真的很容易错过。你能更新你的答案吗?这也是不准确的<根据官方文件,代码>正文不适用于路线
cy.intercept('POST', <your api end point>, {response:
<your json file path>}).as('postAPI')