接口测试Ⅱ——Postman

文章目录

Postman介绍和安装

  • 介绍
    接口调试工具
  • 特点
    1. 简单易用的图形用户界面
    2. 可以保存接口请求的历史记录
    3. 使用测试集Collections可以更有效的管理组织接口
    4. 可以在团队之间同步接口数据
  • 安装
    https://www.postman.com/

Postman基本用法

  1. 掌握使用Postman发送URL参数(GET方式)

接口测试Ⅱ——Postman

  1. 掌握使用Postman发送表单数据(POST)

接口测试Ⅱ——Postman

  1. 掌握使用Postman发送JSON数据

接口测试Ⅱ——Postman
接口测试Ⅱ——Postman

Postman高级用法

1 用例目录结构

  1. 创建测试集-New Collection
    Collection可以理解成一个项目(系统),包含多个接口请求
  2. 创建目录-Add Folder
    Folder可以理解成一个项目模块
  3. 添加请求-Add Request
    接口测试Ⅱ——Postman
    接口测试Ⅱ——Postman
    接口测试Ⅱ——Postman

2 Postman断言

  • 断言:让程序判断预期结果和实际结果是否一致
  • Postman的断言是使用JavaScript语言编写的,写在‘Tests’标签页里
  • Tests中的脚本在发送请求之后执行,会把断言的结果(PASS/FAIL)最终在‘Test Results’标签页中展示

常用断言
接口测试Ⅱ——Postman
使用
接口测试Ⅱ——Postman
接口测试Ⅱ——Postman

3 全局变量和环境变量

  1. 概念
    • 全局变量:全局变量是全局唯一的,不可重复定义的变量
    • 环境变量:
      • 一个变量只能属于某个环境,在某一个环境中变量不可重复定义
      • 在环境与环境之间可以定义重复的变量
      • 一个环境可以包含多个环境变量
      • 常见环境分类:开发环境、测试环境、生产环境
  2. 设置变量
    • 全局变量
      1. 手动设置
      2. 代码设置: pm.globals.set("var_name", value);
    • 环境变量
      1. 手动设置
      2. 代码设置: pm.environment.set("var_name", value);
  3. 获取变量值
    • 全局变量
      1. 请求参数中获取:{{var_name}}
      2. 代码中获取: var value = pm.globals.get("var_name");
    • 环境变量
      1. 请求参数中获取:{{var_name}}
      2. 代码中获取: var value = pm.environment.get("var_name");

4 请求前置脚本

  • 请求前置脚本就是在“Pre-request Script”标签中所编写的脚本,是在请求发送之前要执行的代码片段。
  • 应用场景:
    • 请求参数中包含一个随机数或者时间戳
    • 请求之前需要对请求参数做进一步处理(如:对敏感参数进行加密)
      接口测试Ⅱ——Postman

5 Postman关联

  • 当请求之间有依赖关系,比如一个请求的入参是另一个请求返回的数据,这时候就需要用到关联处理。
  • 如何实现
    • 要获取某个请求的响应结果数据,可以通过在‘Tests’标签页中编写JavaScript脚本来实现var jsonData = pm.response.json();
    • 多个请求之间可以使用全局变量或环境变量来传递数据pm.globals.set("city", city);
    • 获取某个全局变量的值:{{var_name}}

接口测试Ⅱ——Postman

6 批量测试

要想批量执行测试用例,需要先把接口请求添加到测试集中,通过运行测试集的方式就可以实现批量运行测试用例

接口测试Ⅱ——Postman
接口测试Ⅱ——Postman

7 读取外部文件参数化

  • 针对于某个接口,如果有大量的测试数据需要批量验证,可以把测试数据保存到数据文件(CSV、JSON)中,通过参数化的方式来实现。
  • 在不同的地方获取参数的方法是不同的,介绍两种获取参数的方法:
    • 请求参数可以通过{{var_name}}来引用
    • 断言中的数据,由于是在Tests中编写脚本,并不能直接通过{{var_name}}来引用,可以通过内置变量 data 来获取var username = data.username;

接口测试Ⅱ——Postman
接口测试Ⅱ——Postman
接口测试Ⅱ——Postman

Newman生成测试报告

Newman是一款基于nodejs开发的可以运行Postman脚本的工具,并可以生成测试报告

1 安装

  • 安装nodejs(打开cmd,输入 node -v ,看到输出node的版本信息,即代表安装成功)
    http://nodejs.cn/download/
  • 安装newman
    • 打开cmd输入: npm install -g newman
    • 校验:安装完成后,输入 newman -v 命令查看版本信息,检测是否安装成功
  • 安装newman-reporter-html
    • 打开cmd输入: npm install -g newman-reporter-html

2 使用

  • 导出测试集数据
    接口测试Ⅱ——Postman

  • 执行测试

使用newman命令,运行导出的测试集脚本,打开cmd输入:

newman run 测试脚本文件 -e 环境变量文件 -d 测试数据文件 -r html --reporter-html-export report.html

eg:

newman run demo.postman_collection.json -r html
newman run demo.postman_collection.json -r html --reporter-html-export report.html
  • 命令说明
run xxx.json:表示要执行的postman脚本,即导出的测试集数据 
  
-e source:用来指定环境变量文件的路径 
 
-d source:用来指定测试数据文件的路径

-r html:用来指定生成的数据结果的类型,如json、html等

--reporter-html-export source:指定html报告生成的路径;如果不设置该参数,则会在当前目录下生成一个名字为newman的文件夹

3 查看

接口测试Ⅱ——Postman

项目实战

  1. 初始化工作

    1.1 创建测试用例结构

    • 创建测试集:IHRM人力资源管理系统
    • 创建目录
      登录模块
      员工管理模块

    1.2 设置环境变量

    在实际的工作中,我们既要对测试环境进行测试,也要对生产环境进行测试。

    • 测试环境
      • base_url=http://182.92.81.159
      • token=xxx
    • 生产环境
      • base_url=http://www.myhrm.com
      • token=xxx
  2. 实现测试用例

    根据编写的测试用例文档,使用Postman实现测试用例

    2.1 登录-登录成功

    操作步骤

    1. 在‘登录’目录下,添加‘登录成功’的请求
    2. 填写请求数据:请求方式、请求URL、请求头、请求体
    3. 在‘Tests’标签页中,编写测试脚本:断言、业务数据处理
    4. 发送请求,调试脚本

    实现

    1. 添加‘登录成功’的请求
    2. 填写请求数据:请求方式、请求URL
    3. 填写请求数据:请求头
    4. 编写测试脚本
    5. 响应体数据
    6. 断言结果
  3. 生成测试报告

newman run 测试脚本文件 -e 环境变量文件 -d 测试数据文件 -r html --reporter-html-export report.html

操作步骤

  1. 导出测试集数据
  2. 导出环境变量数据
  3. 执行命令:
 newman run ihrm.postman_collection.json -e dev.postman_environment.json -r html --reporter-html-export report.html
上一篇:postman+Newman+Jenkins实现接口自动化测试


下一篇:Postman接口测试环境安装