温馨提示×

如何在Linux上使用Postman进行自动化测试

小樊
55
2025-10-05 11:21:00
栏目: 智能运维

如何在Linux上使用Postman进行自动化测试

1. 安装必要工具

在Linux系统上使用Postman进行自动化测试,需先安装以下工具:

  • Postman客户端:用于创建测试集合、编写测试脚本及调试。
  • Node.js与npm:Newman(Postman的命令行工具)依赖Node.js环境。
  • Newman:用于在命令行中运行Postman集合,实现自动化测试。

具体安装步骤

  • 安装Node.js与npm
    更新系统软件包索引后,通过apt安装:
    sudo apt-get update
    sudo apt-get install nodejs npm
    
  • 安装Postman客户端
    从Postman官网下载Linux版本的安装包(如.deb或.rpm),然后通过包管理器安装:
    wget https://www.postman.com/downloads/linux-x86_64/latest -O postman.deb
    sudo dpkg -i postman.deb
    # 若安装过程中出现依赖问题,运行以下命令修复
    sudo apt-get install -f
    
  • 安装Newman
    通过npm全局安装Newman:
    sudo npm install -g newman
    

2. 创建Postman测试集合

Postman集合(Collection)是自动化测试的核心,用于组织多个API请求及测试脚本。

  • 创建集合
    打开Postman,点击左侧“Collections”→“+ New Collection”,输入集合名称(如“My API Tests”),点击“Create”。
  • 添加请求到集合
    点击集合右侧的“Add Request”,输入请求名称(如“Get User Info”),选择HTTP方法(GET/POST等),输入API URL(如https://api.example.com/users/1),配置请求头(如Content-Type: application/json)或请求体(如JSON格式的{"userId": 1}),最后点击“Save”将请求添加到集合中。
  • 编写测试脚本
    在请求的“Tests”标签页中,使用JavaScript编写断言脚本。例如:
    // 检查响应状态码是否为200
    pm.test("Status code is 200", function () {
        pm.response.to.have.status(200);
    });
    // 解析响应体(JSON格式),检查code字段是否为0
    pm.test("Response code is 0", function () {
        const jsonData = pm.response.json();
        pm.expect(jsonData.code).to.eql(0);
    });
    // 检查响应时间是否小于200ms
    pm.test("Response time is less than 200ms", function () {
        pm.expect(pm.response.responseTime).to.be.below(200);
    });
    // 将响应中的token保存到环境变量(用于后续请求鉴权)
    const token = pm.response.json().data.token;
    pm.environment.set("authToken", token);
    

3. 配置环境变量

环境变量用于在不同环境(如开发、测试、生产)中动态切换配置(如API基础URL、鉴权信息),避免硬编码。

  • 创建环境
    点击Postman右上角的“Environment quick look”→“+ New Environment”,输入环境名称(如“Test Env”),添加变量(如base_url: https://api.example.com),点击“Add”。
  • 使用环境变量
    在请求的URL、Headers或Body中,通过{{variable_name}}引用环境变量。例如:
    {{base_url}}/users/1
    Authorization: Bearer {{authToken}}
    

4. 运行自动化测试

Postman提供两种运行自动化测试的方式:图形界面(Runner)命令行(Newman)

  • 图形界面运行(Runner)
    点击集合右侧的“Run collection”→“Run ‘My API Tests’”,进入Runner界面。选择测试环境(如“Test Env”)、迭代次数(如1次)、数据文件(可选,用于数据驱动测试),点击“Run”。测试完成后,Runner会显示每个请求的通过/失败情况及详细结果。
  • 命令行运行(Newman)
    将Postman集合导出为JSON文件(点击集合右侧的“···”→“Export”),然后通过Newman运行:
    newman run my-api-tests.json --environment test-env.json
    
    其中,my-api-tests.json是导出的集合文件,test-env.json是导出的环境文件。
  • 生成测试报告
    为便于分析,可添加报告插件。例如,生成HTML报告:
    npm install -g newman-reporter-html
    newman run my-api-tests.json --environment test-env.json --reporters html --reporter-html-export report.html
    
    执行后,会在当前目录生成report.html文件,打开即可查看可视化测试结果。

5. 集成到CI/CD流程

将Postman自动化测试集成到CI/CD(如Jenkins、GitLab CI)中,可实现代码提交或部署时自动运行测试,及时发现问题。

  • Jenkins集成示例
    在Jenkins项目的“构建”步骤中添加“Execute shell”命令:
    # 安装Newman(若Jenkins服务器未安装)
    npm install -g newman
    # 运行Newman测试
    newman run /path/to/my-api-tests.json --environment /path/to/test-env.json
    # 检查测试结果,若失败则终止构建
    if [ $? -ne 0 ]; then
        echo "API tests failed!"
        exit 1
    fi
    
  • GitLab CI集成示例
    在项目根目录创建.gitlab-ci.yml文件,添加以下内容:
    stages:
      - test
    api_tests:
      stage: test
      image: node:latest
      before_script:
        - npm install -g newman
      script:
        - newman run /path/to/my-api-tests.json --environment /path/to/test-env.json
    

注意事项

  • 权限问题:安装Postman或Newman时,可能需要sudo权限。
  • 依赖问题:确保系统已安装nodejsnpm等依赖,可通过node -vnpm -v检查版本。
  • 环境变量管理:敏感信息(如API密钥)建议使用Postman的“Secrets”功能加密存储,避免泄露。
  • 测试数据驱动:可通过CSV/JSON文件实现数据驱动测试(在Runner或Newman中上传数据文件),提高测试覆盖率。

0