Postman编写测试脚本

在 Postman 中,编写测试脚本通常使用 JavaScript,这些脚本可以在请求发送前后执行。以下是一些示例代码,展示了如何在 Postman 中使用测试脚本。

1. 测试脚本示例:检查响应状态码

javascript 复制代码
// 测试脚本在请求发送后执行
pm.test("Response status code is 200", function () {
    pm.response.to.have.status(200);
});

2. 测试脚本示例:检查响应体中的数据

javascript 复制代码
// 测试脚本在请求发送后执行
pm.test("Response should have valid data", function () {
    // 检查响应体是否包含特定的键
    pm.response.to.have.jsonBody('key');
    // 检查响应体中的数组长度
    pm.expect(pm.response.json().array).to.be.an('array').to.not.be.empty;
});

3. 测试脚本示例:设置环境变量

javascript 复制代码
// 可以在请求发送前设置环境变量
pm.environment.set("variableKey", "variableValue");

4. 测试脚本示例:使用前置脚本修改请求

javascript 复制代码
// 前置脚本在请求发送前执行
pm.globals.set("timestamp", new Date().getTime());

// 修改请求头
pm.request.headers.add({
    key: 'Timestamp',
    value: pm.globals.get("timestamp")
});

5. 测试脚本示例:使用响应数据

javascript 复制代码
// 使用响应数据设置环境变量
pm.test("Extract data from response", function () {
    var jsonData = pm.response.json();
    pm.environment.set("responseDataKey", jsonData.someKey);
});

6. 测试脚本示例:断言响应时间

javascript 复制代码
// 检查响应时间是否在一定范围内
pm.test("Response time is less than 200ms", function () {
    pm.expect(pm.response.responseTime).to.be.below(200);
});

7. 测试脚本示例:使用 Postman 集合变量

javascript 复制代码
// 使用集合变量
var commonHeader = pm.collectionVariables.get("commonHeader");

// 添加请求头
pm.request.headers.add({
    key: commonHeader,
    value: 'someValue'
});

在 Postman 中,你可以在每个请求的 "Tests" 选项卡中编写测试脚本,或者在 "Pre-request Script" 选项卡中编写前置脚本。这些脚本可以用于设置测试条件、修改请求、验证响应数据等。

请注意,上述代码示例需要根据你的具体需求进行调整。例如,你需要将 'key''variableKey''variableValue''array''someKey' 等替换为实际的键名或值。

相关推荐
源远流长jerry22 分钟前
curl、ping、iptables、iperf、tcpdump解析
网络·网络协议·测试工具·ip·tcpdump
爆更小哇5 小时前
Selenium自动化测试函数全解析(二)
java·selenium·测试工具·自动化
程序员小远13 小时前
UI自动化测试框架:PO模式+数据驱动
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
卓码软件测评14 小时前
第三方软件国产化测评机构【API验收测试,除了Postman,还有什么推荐工具?】
测试工具·ci/cd·性能优化·单元测试·测试用例·postman
十二测试录14 小时前
接口测试,一些常见问题
经验分享·功能测试·测试工具·集成测试·压力测试·postman·可用性测试
shughui14 小时前
JMeter(二):什么是jmeter参数化?为什么需要它?如何使用
测试工具·jmeter·性能优化·单元测试
2501_9418204914 小时前
在米兰智能零售场景中构建库存与供应链实时优化平台的工程设计实践与高并发数据处理经验分享
postman
熊文豪16 小时前
Selenium 自动化测试入门指南
selenium·测试工具
食咗未16 小时前
Linux lrzsz文件传输工具的使用
linux·测试工具
唐古乌梁海16 小时前
Selenium元素定位不稳定
python·selenium·测试工具