Postman 脚本入门:初学者必备指南

在探索 API 测试自动化环墁下,Postman 脚本显现其强大功能和灵活性,它不仅仅是 API 测试的工具,更是一个综合性的自动化平台。

Postman 脚本简介

Postman 允许用户在 API 请求生命周期中运行 JavaScript 脚本,这些脚本分为以下三类:

  1. 预请求脚本(Pre-request Script) :发送请求前执行,常用于配置环境和预处理数据。
  2. 测试脚本(Tests) :在响应到达后执行,用来校验响应的数据和状态码。
  3. 集合脚本(Collection Scripts) :在整个请求集合的开始和结束时执行,用于设置和清理测试环境。

这些脚本能够与 Postman 的环境和全局变量进行交互,增加了测试的自动化、数据驱动性和请求的动态性。

编写 Postman 脚本的技巧

环境变量的设定与使用

环境变量的使用可以在不同环境间重复使用相同的请求。以下代码片段展示如何在脚本中设置和调用环境变量:

// 设置环境变量
pm.environment.set("userToken", "abcde12345");

// 调用环境变量
let userToken = pm.environment.get("userToken");
console.log(userToken);

示例:预请求脚本

在 API 请求发送之前,可以使用预请求脚本进行必要的数据处理或生成认证令牌:

// 生成一个认证令牌,并将其加入请求头中
var jwt = require('jsonwebtoken');
var payload = {"userId": "user123"};
var secret = "secretkey_example";

var token = jwt.sign(payload, secret);
pm.request.headers.add({key: "Authorization", value: "Bearer " + token});

示例:测试脚本

测试脚本用于检验 API 响应,确保它满足预设的条件:

// 检查响应状态码和响应体
pm.test("Status code is 200 and the username is correct", function () {
    pm.response.to.have.status(200);
    var jsonData = pm.response.json();
    pm.expect(jsonData.user).to.eql("JohnDoe");
});

高级应用场景

数据驱动测试

借助外部数据文件(CSV 或 JSON 格式),可以实现数据驱动测试:

// 从CSV文件读取数据驱动测试案例
let userData = pm.iterationData.get("userData");

pm.sendRequest({
    url: 'https://api.example.com/user',
    method: 'GET',
    header: {
        'Content-Type': 'application/json',
        'Authorization': 'Bearer ' + userData.token
    }
}, function (error, response) {
    pm.test("Test User Data", function () {
        pm.expect(response).to.have.status(200);
        var data = response.json();
        pm.expect(data.id).to.eql(userData.id);
    });
});

动态请求和逻辑处理

通过控制流语句,脚本可以根据条件执行不同的逻辑路径:

// 根据不同的响应状态码进行不同操作
if (pm.response.code === 200) {
    console.log("Operation successful");
} else {
    console.error("Operation failed with status: " + pm.response.code);
}

使用 Apifox 轻松构建脚本

将 API 导入 Apifox 进行修改

将 API 导入到 Apifox 中,迈出完善 API 的第一步。 Apifox 支持各种 API 文件类型,包括 OpenAPISwagger)、Postman 和 Insomnia 等 20 多种。

点击「项目设置 - 导入数据」,选择你需要的类型,拖入文件或者填写 URL 即可,非常简单。

在 Apifox 中添加自定义脚本

完成 API 导入或在 Apifox 上创建新项目后,你可以继续添加自定义脚本。

在 API 的修改文档部分,找到「后置操作」。选择添加「自定义脚本」,可以在此处为 API 请求实施自定义脚本,还可以选择右侧的“代码片段”选项选择自己需要的代码一键套用。

总结

利用 Postman 脚本,用户可以构建深度自定义的测试场景,不仅提升 API 开发与测试的效率,更加确保结果的准确性。

全部评论

相关推荐

1 1 评论
分享
牛客网
牛客企业服务