You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Cypress中使用cy.request发送plain/text类型POST请求

解决方案

错误根因

  • 现有代码中body参数传入的是JSON对象,Cypress会自动对对象类型的请求体做JSON序列化处理,即使手动指定了Content-Type,实际发送的请求内容依然和接口要求的纯文本格式不匹配,因此触发400错误。
  • Postman中直接传入confirmEmail=true纯文本字符串,符合接口入参要求,因此可以调用成功。

修复后代码

cy.request({
    url: `${url}/user`,
    method: "POST",
    headers: {
        // 注意:标准纯文本Content-Type为text/plain,原写法plain/text是非标准值,部分服务端校验严格时也会触发报错,建议同步修改
        'Content-Type': 'text/plain'
    },
    // 直接传入纯文本格式的请求体,无需封装为对象
    body: "confirmEmail=true"
}).then(res =>{
    cy.task('log',"Email id "+res.body.emailAddress);
    return res.body;
});

补充说明:接口返回JSON格式时,Cypress会自动解析响应为JSON对象,原有res.body的取值逻辑不需要调整,可以正常使用。

内容的提问来源于stack exchange,提问作者ArrchanaMohan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 14:24:02