cypress中如何处理plain/textPOST请求
How to handle the plain/text POST request in the cypress
我有一个邮递员集合,它是 POST 调用,请求正文是 plain/text 类型,我只想使用 cy.request 自动执行此操作,但我不确定如何通过 cy.request 正文部分中的测试正文,如果我 运行 下面的代码 returned 400 错误请求。
cy.request({
url: `${url}/user`,
method: "POST",
headers: {
'Content-Type': 'plain/text'
},
body: {
"confirmEmail": "true"
}
}).then(res =>{
cy.task('log',"Email id "+res.body.emailAddress);
return res.body;
});
}
上面的请求return .json响应但是输入请求如果是文本格式,在邮递员工具中同样可以正常工作。
在 postman 工具中以以下格式传递请求正文并且工作正常。
confirmEmail=true
我的假设是在请求正文中我们的端点需要一个布尔值,但您传递的是一个字符串。因此,将 "confirmEmail": "true"
更改为 "confirmEmail": true
应该可行。
cy.request({
url: `${url}/user`,
method: 'POST',
headers: {
'Content-Type': 'plain/text',
},
body: {
confirmEmail: true,
},
}).then((res) => {
cy.log(res.body.emailAddress) //prints email address from response body
})
如果您需要在 URL 中传递参数,您可以直接使用 qs
cy.request({
url: `${url}/user`,
method: 'POST',
qs: {
confirmEmail: true,
},
headers: {
'Content-Type': 'plain/text',
},
}).then((res) => {
cy.log(res.body.emailAddress) //prints email address from response body
})
我有一个邮递员集合,它是 POST 调用,请求正文是 plain/text 类型,我只想使用 cy.request 自动执行此操作,但我不确定如何通过 cy.request 正文部分中的测试正文,如果我 运行 下面的代码 returned 400 错误请求。
cy.request({
url: `${url}/user`,
method: "POST",
headers: {
'Content-Type': 'plain/text'
},
body: {
"confirmEmail": "true"
}
}).then(res =>{
cy.task('log',"Email id "+res.body.emailAddress);
return res.body;
});
}
上面的请求return .json响应但是输入请求如果是文本格式,在邮递员工具中同样可以正常工作。
在 postman 工具中以以下格式传递请求正文并且工作正常。
confirmEmail=true
我的假设是在请求正文中我们的端点需要一个布尔值,但您传递的是一个字符串。因此,将 "confirmEmail": "true"
更改为 "confirmEmail": true
应该可行。
cy.request({
url: `${url}/user`,
method: 'POST',
headers: {
'Content-Type': 'plain/text',
},
body: {
confirmEmail: true,
},
}).then((res) => {
cy.log(res.body.emailAddress) //prints email address from response body
})
如果您需要在 URL 中传递参数,您可以直接使用 qs
cy.request({
url: `${url}/user`,
method: 'POST',
qs: {
confirmEmail: true,
},
headers: {
'Content-Type': 'plain/text',
},
}).then((res) => {
cy.log(res.body.emailAddress) //prints email address from response body
})