温馨提示×

Postman在Ubuntu中如何创建自动化测试

小樊
48
2025-11-02 07:28:33
栏目: 智能运维

1. 在Ubuntu上安装Postman
Postman支持多种方式在Ubuntu上安装,以下是三种常见方法:

  • Snap包管理器(推荐):打开终端,依次执行以下命令安装Snap(若未安装),然后安装Postman:
    sudo snap install core && sudo snap refresh
    sudo snap install postman --classic
    
  • APT包管理器:通过Postman官方仓库安装,步骤如下:
    wget -qO - https://dl.postman.co/postman.gpg | sudo apt-key add -
    echo "deb https://dl.postman.co/debian $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/postman.list
    sudo apt update && sudo apt install postman
    
  • Flatpak(跨平台支持):若未安装Flatpak,先执行sudo apt install flatpak,然后添加Flathub仓库并安装Postman:
    flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
    flatpak install flathub com.postman.Postman
    

安装完成后,可通过终端命令postman启动应用,或在应用菜单中找到Postman图标。

2. 创建自动化测试的基本流程
自动化测试的核心是通过集合(Collection)组织请求,并为每个请求添加测试脚本(验证响应是否符合预期)。

  • 创建集合:打开Postman,点击左侧“Collections” tab,再点击“+”→“Create Collection”,输入集合名称(如“API_Automation”),点击“Create”。集合用于批量管理测试用例,方便后续批量运行。
  • 添加测试请求:在集合内点击“+”→“New Request”,选择HTTP方法(GET/POST等),输入API端点(如https://jsonplaceholder.typicode.com/posts/1),配置请求参数(Headers/Body/Query),点击“Save”将请求添加到集合中。
  • 编写测试脚本:选中请求,点击右侧“Tests” tab,使用JavaScript编写测试脚本。Postman提供pm对象(内置Chai断言库),常用断言示例如下:
    • 验证状态码pm.test("Status code is 200", () => pm.response.to.have.status(200));
    • 验证响应时间pm.test("Response time < 500ms", () => pm.expect(pm.response.responseTime).to.be.below(500));
    • 验证响应体内容pm.test("Body contains 'title'", () => pm.expect(pm.response.json().title).to.include("sunt"));
    • 提取响应数据到环境变量(用于后续请求):pm.environment.set("postId", pm.response.json().id);
      这些脚本会在请求发送后自动执行,结果会显示在“Tests” tab中。

3. 运行自动化测试

  • 使用Postman Runner:点击左侧集合旁的“Run”按钮,打开Runner界面。选择目标集合,设置迭代次数(如“1”表示运行一次)、环境变量(若有),点击“Run [Collection Name]”。Runner会依次执行集合中的所有请求,结束后显示每个请求的测试结果(通过/失败数、响应时间等)。
  • 命令行运行(Newman):Newman是Postman的命令行工具,可将测试集成到CI/CD流程中。首先通过npm安装Newman:npm install -g newman;然后导出Postman集合(点击集合旁的“…”→“Export”,选择JSON格式),最后执行命令:newman run your_collection.json。执行后会输出测试报告(支持JSON/HTML格式)。

4. 高级技巧提升测试效率

  • 环境变量与全局变量:通过“Manage Environments”创建环境(如“Dev”“Test”),存储不同环境的URL、API Key等变量(如{{base_url}}),在请求中使用{{variable_name}}引用。全局变量(通过pm.globals.set()设置)适用于所有集合。
  • Pre-request Scripts:在请求发送前执行的脚本,常用于动态生成数据(如时间戳)、设置请求头(如Authorization Token)。示例如下:
    // 生成时间戳并添加到请求头
    const timestamp = new Date().getTime();
    pm.request.headers.add({ key: 'X-Timestamp', value: timestamp.toString() });
    
  • 测试数据参数化:通过Runner导入CSV/JSON文件作为测试数据,实现“数据驱动测试”。例如,CSV文件包含多组用户名/密码,Runner会循环执行请求,每组数据替换{{username}}{{password}}变量,验证不同输入的响应结果。

5. 集成CI/CD流程(可选)
将Postman测试集成到Jenkins、GitLab CI等工具中,实现代码提交后自动运行测试。以Jenkins为例,步骤如下:

  • 在Jenkins中安装“Node.js”插件(Newman依赖Node.js);
  • 在Jenkins Job中添加“Execute shell”步骤,执行Newman命令:newman run your_collection.json --reporters cli,html --reporter-html-export report.html
  • 配置邮件通知,将测试报告发送给团队。
    这样,每次代码变更都会触发自动化测试,及时发现问题。

0