首页主机资讯如何在Ubuntu上用Postman进行数据驱动测试

如何在Ubuntu上用Postman进行数据驱动测试

时间2025-10-04 03:19:03发布访客分类主机资讯浏览205
导读:如何在Ubuntu上用Postman进行数据驱动测试 1. 环境准备 确保Ubuntu系统已安装Node.js和npm(Postman命令行工具Newman的依赖)。打开终端,执行以下命令安装: sudo apt-get update su...

如何在Ubuntu上用Postman进行数据驱动测试

1. 环境准备

确保Ubuntu系统已安装Node.js和npm(Postman命令行工具Newman的依赖)。打开终端,执行以下命令安装:

sudo apt-get update
sudo apt-get install nodejs npm

安装完成后,通过npm全局安装Newman(Postman的命令行运行工具):

sudo npm install -g newman

2. 准备测试数据文件

数据驱动测试的核心是数据文件,Postman支持CSVJSON格式。

  • CSV格式:第一行为表头(变量名),后续每行为一组测试数据。例如test_data.csv
    username,password,expected_status
    user1,pass1,200
    user2,invalid,401
    user3,pass3,200
    
  • JSON格式:使用数组存储多个对象,每个对象代表一组测试数据。例如test_data.json
    [
      {
    "username": "user1", "password": "pass1", "expected_status": 200}
    ,
      {
    "username": "user2", "password": "invalid", "expected_status": 401}
    ,
      {
    "username": "user3", "password": "pass3", "expected_status": 200}
    
    ]
    

注意:CSV文件避免空行,JSON文件确保格式正确(可使用在线工具验证)。

3. 创建Postman集合与参数化请求

  1. 创建集合:打开Postman,点击左侧“Collections”→“+ New Collection”,输入集合名称(如“Login API Tests”),点击“Create”。
  2. 添加请求:在集合内点击“+ Add Request”,输入请求名称(如“Login”),选择HTTP方法(如POST),填写API URL(如https://api.example.com/login)。
  3. 参数化请求:在请求的“Body”标签中,选择“form-data”或“x-www-form-urlencoded”格式,使用{ { variableName} } 语法引用数据文件中的变量。例如:
    • Key: username,Value: { { username} }
    • Key: password,Value: { { password} }
      这样,Postman会自动从数据文件中读取usernamepassword的值替换变量。

4. 编写测试脚本

在请求的“Tests”标签中,编写JavaScript代码验证响应。常用断言包括状态码、响应体属性等。例如:

// 获取响应状态码
pm.test("Status code is correct", function () {
    
    pm.response.to.have.status(pm.variables.get("expected_status"));

}
    );
    

// 解析响应体为JSON
const responseJson = pm.response.json();


// 验证响应体中的关键属性
pm.test("Response contains valid data", function () {
    
    pm.expect(responseJson).to.have.property("token");
    
    pm.expect(responseJson.token).to.be.a("string");

}
    );

说明pm.variables.get("expected_status")用于获取数据文件中“expected_status”列的值,确保测试逻辑与数据分离。

5. 批量运行数据驱动测试

方法1:使用Postman GUI(Collection Runner)

  1. 点击Postman顶部“Runner”→“Run collection”。
  2. 在“Collection”下拉菜单中选择已创建的集合(如“Login API Tests”)。
  3. 点击“Select File”上传数据文件(如test_data.csvtest_data.json)。
  4. 确认“Iterations”设置为数据文件的行数(如CSV文件有3行数据,则设置为3)。
  5. 点击“Run”,Postman会依次使用数据文件中的每行数据执行集合中的请求,并显示结果(Passed/Failed)。

方法2:使用Newman命令行(自动化推荐)

在终端中执行以下命令,通过Newman运行集合并加载数据文件:

newman run /path/to/Login_API_Tests.json -d /path/to/test_data.csv

参数说明

  • /path/to/Login_API_Tests.json:Postman集合文件的绝对路径(需替换为实际路径)。
  • -d /path/to/test_data.csv:数据文件的路径(支持CSV/JSON格式)。
    执行后,Newman会输出详细的测试报告(包括通过/失败的用例数、响应时间等)。

6. 结果分析与调试

  • 查看GUI结果:在Collection Runner界面,点击单个测试用例可查看请求详情(URL、Headers、Body)、响应内容(Status、Body)及测试脚本的执行结果。
  • 查看命令行结果:Newman运行后,终端会显示类似以下的报告:
    → Login
      ✓ Status code is correct (200)
      ✓ Response contains valid data (token)
    → Login
      ✓ Status code is correct (401)
      ✓ Response contains valid data (error)
    ┌─────────────────────────┬──────────┬──────────┐
    │                         │ executed │   failed │
    ├─────────────────────────┼──────────┼──────────┤
    │              iterations │        3 │        0 │
    │                requests │        3 │        0 │
    │            test-scripts │        6 │        0 │
    │      prerequest-scripts │        0 │        0 │
    │              assertions │        6 │        0 │
    └─────────────────────────┴──────────┴──────────┘
    
  • 调试技巧:若测试失败,可通过以下方式排查:
    • 在“Tests”标签中添加console.log(pm.response.json()),查看响应体详情(在Runner的“Console”标签中查看日志)。
    • 检查数据文件中的变量名是否与请求中的{ { variableName} } 一致。
    • 确认API URL、请求方法(GET/POST)是否正确。

通过以上步骤,即可在Ubuntu系统上使用Postman完成数据驱动测试,实现对API多场景的自动化覆盖。

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


若转载请注明出处: 如何在Ubuntu上用Postman进行数据驱动测试
本文地址: https://pptw.com/jishu/719483.html
ubuntu分卷与分区有何区别 ubuntu分卷如何优化空间利用

游客 回复需填写必要信息