Ubuntu下Postman如何使用脚本功能
导读:Ubuntu下Postman脚本功能使用指南 一、Postman脚本的核心类型 Postman脚本分为两类,用于覆盖请求生命周期的关键环节:  前置脚本(Pre-request Script):在请求发送前执行,主要用于动态生成数据(如随机...
    
Ubuntu下Postman脚本功能使用指南
一、Postman脚本的核心类型
Postman脚本分为两类,用于覆盖请求生命周期的关键环节:
- 前置脚本(Pre-request Script):在请求发送前执行,主要用于动态生成数据(如随机字符串、时间戳)、设置请求头/参数、生成认证令牌等。
- 测试脚本(Tests):在请求响应后执行,用于验证响应状态码、响应体内容、响应时间等,是自动化测试的核心环节。
二、脚本编写基础:pm对象与常用方法
Postman脚本通过pm对象实现与环境的交互,常用方法包括:
- 变量操作:
- 获取环境变量:pm.environment.get("variableName")
- 设置环境变量:pm.environment.set("variableName", "value")
- 获取集合变量:pm.collectionVariables.get("variableName")
 
- 获取环境变量:
- 断言方法:通过pm.test()定义测试用例,结合pm.expect()实现断言(如pm.expect(response.code).to.eql(200))。
- 请求发送:pm.sendRequest()用于发送异步请求(如获取token后调用其他接口)。
三、前置脚本(Pre-request Script)实战示例
前置脚本常用于动态数据准备和环境配置,以下是常见场景:
- 
生成随机数据并设置环境变量: // 生成10位随机字符串(字母+数字) const randomStr = Math.random().toString(36).substr(2, 10); pm.environment.set("randomStr", randomStr); // 生成10位时间戳(秒级) const timestamp = Math.floor(Date.now() / 1000).toString(); pm.globals.set("timestamp", timestamp);用途:作为接口请求参数,避免重复数据。 
- 
设置请求头(如Bearer Token): // 从环境变量获取token并设置请求头 const token = pm.environment.get("authToken"); pm.request.headers.add({ key: "Authorization", value: "Bearer " + token } );用途:用于需要认证的API请求。 
四、测试脚本(Tests)实战示例
测试脚本通过断言验证接口响应的正确性,以下是常见场景:
- 验证响应状态码:pm.test("Status code is 200", function () { pm.response.to.have.status(200); } );
- 验证响应体内容:pm.test("Response contains valid user data", function () { const jsonData = pm.response.json(); pm.expect(jsonData).to.have.property("id"); pm.expect(jsonData.name).to.eql("test_user"); } );
- 验证响应时间:pm.test("Response time is less than 500ms", function () { pm.expect(pm.response.responseTime).to.be.below(500); } );
- 复杂断言(结合正则表达式):pm.test("Email format is valid", function () { const jsonData = pm.response.json(); pm.expect(jsonData.email).to.match(/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{ 2,} $/); } );
五、脚本调试与优化
- 
使用console.log输出调试信息: console.log("Random string generated:", pm.environment.get("randomStr")); console.log("Response body:", pm.response.json());用途:通过Postman的“Console”面板查看输出,定位脚本问题。 
- 
查看测试结果: - 发送请求后,点击响应面板的“Tests”标签,查看断言结果(通过/失败)。
- 失败的断言会显示红色错误信息,帮助快速定位问题。
 
六、自动化测试:集合运行器与Newman
- 
Postman集合运行器: - 将多个请求组织到“Collection”中。
- 点击“Runner”按钮,选择集合,配置迭代次数、环境变量等,批量执行请求及脚本。
- 查看汇总测试结果(通过率、失败详情)。
 
- 
Newman命令行工具: - 安装Newman:npm install -g newman
- 导出Postman集合为JSON文件(通过“Collection”面板的“Export”按钮)。
- 运行集合:newman run /path/to/your/collection.json --environment /path/to/your/environment.json
- 用途:集成到CI/CD流程(如GitHub Actions),实现自动化测试。
 
- 安装Newman:
七、高级技巧:数据驱动与异步处理
- 
数据驱动测试: - 使用CSV/JSON文件作为数据源,在“Collection Runner”中配置“Data”选项。
- 通过pm.iterationData.get("key")获取数据(如pm.iterationData.get("username"))。
- 用途:用不同数据重复执行相同测试,提高测试覆盖率。
 
- 
异步请求处理: - 使用pm.sendRequest()发送异步请求,处理依赖接口(如先获取token,再用token调用其他接口)。
 pm.sendRequest({ url: pm.environment.get("apiBaseUrl") + "/token", method: "POST", body: JSON.stringify({ username: "user", password: "pass" } ) } , (error, response) => { if (!error) { const token = response.json().token; pm.environment.set("authToken", token); } } );用途:处理需要顺序执行的API请求。 
- 使用
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu下Postman如何使用脚本功能
本文地址: https://pptw.com/jishu/739832.html
