postman中的Tests,怎么获取返回的response中的stateCde

在Postman的Tests标签中,有多种方法可以获取响应中的状态码。以下是常用的几种方式:

1. 获取HTTP状态码

复制代码
// 方法1:使用 pm.response.code
console.log("状态码:", pm.response.code);

// 方法2:使用 pm.response.status
console.log("状态码:", pm.response.status);

2. 获取响应体中的特定字段(如stateCde)

如果你的响应是JSON格式,并且你想获取响应体中的stateCde字段:

复制代码
// 解析JSON响应
let responseData = pm.response.json();

// 获取stateCde字段
let stateCode = responseData.stateCde;
console.log("stateCde:", stateCode);

// 或者使用方括号表示法
let stateCode2 = responseData["stateCde"];
console.log("stateCde:", stateCode2);

3. 完整示例

复制代码
// 获取HTTP状态码
pm.test("HTTP状态码是200", function() {
    pm.response.to.have.status(200);
    console.log("HTTP状态码:", pm.response.code);
});

// 获取响应体中的stateCde字段
pm.test("stateCde存在", function() {
    const response = pm.response.json();
    
    // 检查stateCde是否存在
    pm.expect(response).to.have.property("stateCde");
    
    // 获取并记录stateCde的值
    const stateCode = response.stateCde;
    console.log("stateCde值:", stateCode);
    
    // 可以对stateCde进行断言
    pm.expect(stateCode).to.equal("SUCCESS");
});

// 或者简写方式
const jsonData = pm.response.json();
if (jsonData && jsonData.stateCde) {
    console.log("stateCde:", jsonData.stateCde);
    
    // 设置环境变量或全局变量
    pm.environment.set("stateCode", jsonData.stateCde);
    pm.collectionVariables.set("globalStateCode", jsonData.stateCde);
}

4. 处理可能的异常

复制代码
try {
    const jsonData = pm.response.json();
    
    // 检查stateCde是否存在
    if (jsonData.hasOwnProperty("stateCde")) {
        const stateCode = jsonData.stateCde;
        console.log("获取到的stateCde:", stateCode);
        
        // 使用获取的值
        pm.test("stateCde应该为SUCCESS", function() {
            pm.expect(stateCode).to.equal("SUCCESS");
        });
    } else {
        console.log("响应中未找到stateCde字段");
    }
} catch (error) {
    console.log("解析响应失败:", error.message);
}

5. 使用Tests的常用场景

复制代码
// 1. 验证HTTP状态码
pm.test("状态码是200", function() {
    pm.response.to.have.status(200);
});

// 2. 验证stateCde字段值
pm.test("stateCde应该是SUCCESS", function() {
    const jsonData = pm.response.json();
    pm.expect(jsonData.stateCde).to.equal("SUCCESS");
});

// 3. 将stateCde保存到环境变量
const responseJson = pm.response.json();
if (responseJson && responseJson.stateCde) {
    pm.environment.set("currentStateCode", responseJson.stateCde);
}

// 4. 在后续请求中使用
console.log("保存的stateCde:", pm.environment.get("currentStateCode"));

6. 查看响应内容

复制代码
// 查看完整的响应体
console.log("完整响应:", pm.response.text());

// 查看响应头
console.log("响应头:", pm.response.headers);

// 查看响应时间
console.log("响应时间:", pm.response.responseTime + "ms");

使用建议

  1. 先检查响应格式:确保响应是JSON格式

  2. 添加错误处理:使用try-catch处理解析异常

  3. 验证字段存在:在访问字段前先检查是否存在

  4. 使用断言:用pm.expect()进行验证

  5. 保存变量:可以将重要的值保存到环境/全局变量中供后续使用

选择哪种方法取决于你的具体需求:

  • 如果是要获取HTTP状态码,使用pm.response.code

  • 如果是要获取响应体中的stateCde字段,先解析JSON再获取对应的属性

相关推荐
半个俗人8 分钟前
3.postman全局变量和环境变量
测试工具·postman
海特伟业1 小时前
蒸汽阀门内漏检测仪在线免拆卸精微温度检测蒸汽阀门疏水器内部泄漏-有效助力蒸汽管网安全运行措施解析
测试工具
为你奋斗!14 小时前
图形化界面工具 - webUI使用Page Assist 插件
测试工具
CN.LG14 小时前
抓包工具 Wireshark 是什么?
网络·测试工具·wireshark
星空16 小时前
postman复习
测试工具·postman
念越1 天前
自动化测试入门指南:Selenium环境搭建+第一个实战案例
自动化测试·selenium·测试工具·蓝桥杯
站长工具箱1 天前
鼠标在线测试工具:全维度检测鼠标性能,本地处理更安全
测试工具·计算机外设
老师好,我是刘同学1 天前
Verdi波形调试全功能详解
测试工具
小邓睡不饱耶1 天前
实战教程:基于Selenium+BeautifulSoup爬取易车网新能源汽车销量数据
selenium·测试工具·beautifulsoup