首页主机资讯Ubuntu中Postman脚本怎么编写

Ubuntu中Postman脚本怎么编写

时间2025-10-20 21:11:04发布访客分类主机资讯浏览1404
导读:Ubuntu中Postman脚本编写指南 Postman的脚本功能主要用于前置数据处理(Pre-request Script)和响应结果验证(Tests Script),均通过JavaScript语法编写,支持环境变量、断言、异步请求等特性...

Ubuntu中Postman脚本编写指南
Postman的脚本功能主要用于前置数据处理(Pre-request Script)和响应结果验证(Tests Script),均通过JavaScript语法编写,支持环境变量、断言、异步请求等特性,适用于Ubuntu系统的Postman桌面应用。

一、脚本入口与基础操作

  1. 打开脚本编辑界面
    在Postman中创建或选中一个请求,点击编辑器下方的Pre-request Script(前置脚本,请求发送前执行)或Tests(测试脚本,响应返回后执行)选项卡,即可进入脚本编写区域。

  2. 核心对象与常用方法
    Postman脚本通过pm对象实现所有功能,关键方法如下:

    • 变量操作
      • 获取环境变量:pm.environment.get("variable_key")
      • 设置环境变量:pm.environment.set("variable_key", "value")(仅支持字符串,对象需用JSON.stringify转换)
      • 获取全局变量:pm.globals.get("variable_key")
      • 设置全局变量:pm.globals.set("variable_key", "value")
    • 请求操作
      • 获取请求对象:pm.request(可修改URL、Headers、Body等)
      • 异步发送请求:pm.sendRequest(url/options, callback)(用于链式调用,如获取Token后再发主请求)
    • 响应操作
      • 获取响应对象:pm.response(包含状态码、响应体、耗时等信息)
      • 解析JSON响应:pm.response.json()(返回JavaScript对象)
    • 信息与日志
      • 获取当前迭代信息:pm.info.iteration(当前循环次数)
      • 输出调试日志:console.log("debug info", variable)(通过Postman控制台查看)。

二、前置脚本(Pre-request Script):请求前的数据处理

前置脚本用于准备请求所需的动态数据,例如生成随机参数、加密敏感信息、设置请求头等。

  • 生成随机数据
    // 生成10位随机字符串(字母+数字)
    const randomStr = Math.random().toString(36).substr(2, 10);
        
    pm.environment.set("randomStr", randomStr);
        
    
    // 生成10位随机整数
    const randomNum = Math.floor(Math.random() * 1e10);
        
    pm.environment.set("randomNum", randomNum);
        
    
    // 生成秒级时间戳(常用于接口时间校验)
    const timestamp = Math.floor(Date.now() / 1000).toString();
        
    pm.environment.set("timestamp", timestamp);
        
    
  • 设置请求头
    若接口需要认证Token,可从环境变量获取并设置:
    const token = pm.environment.get("auth_token");
    
    pm.request.headers.add({
     key: "Authorization", value: `Bearer ${
    token}
    ` }
        );
        
    
  • 发送前置请求
    若需先调用其他接口获取数据(如获取Token),可使用pm.sendRequest
    pm.sendRequest("https://api.example.com/login", (error, response) =>
     {
    
        if (!error) {
        
            const token = response.json().access_token;
        
            pm.environment.set("auth_token", token);
     // 存储Token供后续请求使用
        }
    
    }
        );
        
    ```。  
    
    
    

三、测试脚本(Tests Script):响应结果的验证

测试脚本用于验证接口响应的正确性,通过pm.test函数组织断言,支持状态码、响应体、响应时间等检查。

  • 基础断言示例
    // 验证状态码为200
    pm.test("Status code is 200", () =>
     {
        
        pm.response.to.have.status(200);
    
    }
        );
        
    
    // 验证响应时间小于200ms
    pm.test("Response time is less than 200ms", () =>
     {
        
        pm.expect(pm.response.responseTime).to.be.below(200);
    
    }
        );
        
    
    // 验证响应体包含特定字段
    pm.test("Response contains required fields", () =>
     {
        
        const jsonData = pm.response.json();
        
        pm.expect(jsonData).to.have.property("id");
        
        pm.expect(jsonData).to.have.property("name");
    
    }
        );
        
    
  • 复杂断言(JSON数据验证)
    若接口返回JSON数据,可使用deep属性验证嵌套字段:
    pm.test("Nested fields validation", () =>
     {
        
        const jsonData = pm.response.json();
    
        pm.expect(jsonData.user).to.deep.include({
    
            id: 1,
            email: "user@example.com"
        }
        );
    
    }
        );
        
    
  • 环境变量传递
    若前置脚本设置了变量,可在测试脚本中获取并验证:
    pm.test("Timestamp matches", () =>
     {
        
        const responseTimestamp = pm.response.json().timestamp;
        
        const envTimestamp = pm.environment.get("timestamp");
        
        pm.expect(responseTimestamp).to.eql(envTimestamp);
     // 验证响应时间戳与前置设置的是否一致
    }
        );
        
    ```。  
    
    
    

四、调试与优化技巧

  1. 查看脚本执行日志
    在Postman中点击View → Show Postman Console(或使用快捷键Alt+Ctrl+C),可查看console.log输出的调试信息,帮助定位脚本问题。

  2. 使用断点调试
    在脚本编辑区域点击行号左侧,设置断点,然后点击Send按钮,可逐行执行脚本并查看变量值(Postman Desktop支持此功能)。

  3. 数据驱动测试
    结合Postman的Collection Runner,可通过CSV/JSON文件导入测试数据,实现批量测试。例如,在前置脚本中读取迭代数据:

    const userId = pm.iterationData.get("userId");
     // 从CSV文件中获取userId
    pm.request.url.query.add({
     key: "userId", value: userId }
        );
        
    ```。  
    
    
    

通过以上步骤,可在Ubuntu系统中使用Postman编写高效的API脚本,实现自动化测试、数据处理及环境变量管理,提升API开发与测试的效率。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu中Postman脚本怎么编写
本文地址: https://pptw.com/jishu/730476.html
Ubuntu下Postman插件如何安装 Ubuntu上Postman更新失败怎么办

游客 回复需填写必要信息