Pre-request Script(预请求脚本)
Pre-request Script 用于在请求发送前执行,常见用途包括生成认证令牌、设置动态请求头、初始化环境变量等。例如,生成JWT令牌并添加到请求头的脚本:
// 引入jsonwebtoken模块(需提前安装)
const jwt = require('jsonwebtoken');
const payload = {"userId": "user123"};
const secret = "secretkey_example";
const token = jwt.sign(payload, secret);
// 添加Authorization头
pm.request.headers.add({key: "Authorization", value: "Bearer " + token});
或设置环境变量的脚本:
// 设置时间戳环境变量
pm.environment.set("timestampHeader", new Date().toISOString());
这些脚本会在请求发送前运行,确保请求携带必要的动态数据。
Tests Script(测试脚本)
Tests Script 用于在请求响应后执行,主要功能是验证响应状态码、响应体内容、响应时间等。例如,检查状态码是否为200并验证响应体中的用户名:
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
pm.test("Username is correct", function () {
const jsonData = pm.response.json();
pm.expect(jsonData.user).to.eql("JohnDoe");
});
或验证响应时间的脚本:
pm.test("Response time is less than 200ms", function () {
pm.expect(pm.response.responseTime).to.be.below(200);
});
这些脚本会自动运行,并在“Tests”选项卡中显示通过/失败的测试结果。
环境变量与全局变量
Postman脚本可通过pm.environment和pm.globals对象操作环境变量和全局变量,实现数据动态传递。例如:
- 设置环境变量(在Pre-request Script中):
pm.environment.set("authToken", "abc123xyz"); - 获取环境变量(在Tests Script中):
const token = pm.environment.get("authToken"); pm.request.headers.add({key: "Authorization", value: "Bearer " + token}); - 设置全局变量(跨集合使用):
pm.globals.set("baseUrl", "https://api.example.com"); - 获取全局变量:
const baseUrl = pm.globals.get("baseUrl");
环境变量需在“Environments”中创建并激活,全局变量则在“Globals”中管理。
数据驱动测试
通过外部数据文件(CSV/JSON)实现数据驱动测试,让同一请求使用多组数据进行验证。例如,使用CSV文件中的userData字段发送请求:
const userData = pm.iterationData.get("userData"); // 从CSV中读取数据
pm.sendRequest({
url: 'https://api.example.com/user/' + userData.id,
method: 'GET',
headers: {
'Authorization': 'Bearer ' + pm.environment.get("authToken")
}
}, (error, response) => {
pm.test("User data matches", function () {
pm.expect(response.json().name).to.eql(userData.name);
});
});
需将CSV文件导入Postman集合的“Data” tab中,脚本通过pm.iterationData.get()获取每行数据。
使用Newman运行脚本
Newman是Postman的命令行工具,可将Postman集合和脚本自动化运行。安装与运行步骤:
- 安装Node.js和npm:
sudo yum install -y nodejs npm - 安装Newman:
sudo npm install -g newman - 导出Postman集合和环境文件:
在Postman中选择“Collection”→“Export”,保存为collection.json;选择“Environment”→“Export”,保存为environment.json。 - 运行Newman命令:
运行后会输出测试结果,包括通过的测试数、失败的测试详情。newman run collection.json -e environment.json
自动化集成(CI/CD)
将Newman集成到CI/CD流程(如Jenkins),实现代码提交后自动运行API测试。例如,Jenkinsfile配置:
pipeline {
agent any
stages {
stage('Run Postman Tests') {
steps {
sh './run_postman.sh' // 调用前面创建的Shell脚本
}
}
}
}
Shell脚本run_postman.sh内容:
#!/bin/bash
COLLECTION_FILE="/path/to/collection.json"
ENVIRONMENT_FILE="/path/to/environment.json"
newman run $COLLECTION_FILE -e $ENVIRONMENT_FILE
赋予执行权限后,每次代码提交都会自动触发Postman测试。
以上就是关于“CentOS中Postman如何使用脚本功能”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm