文章目录
Postman介绍和安装
- 介绍
接口调试工具 - 特点
- 简单易用的图形用户界面
- 可以保存接口请求的历史记录
- 使用测试集Collections可以更有效的管理组织接口
- 可以在团队之间同步接口数据
- 安装
https://www.postman.com/
Postman基本用法
- 掌握使用Postman发送URL参数(GET方式)
- 掌握使用Postman发送表单数据(POST)
- 掌握使用Postman发送JSON数据
Postman高级用法
1 用例目录结构
- 创建测试集-New Collection
Collection可以理解成一个项目(系统),包含多个接口请求 - 创建目录-Add Folder
Folder可以理解成一个项目模块 - 添加请求-Add Request
2 Postman断言
- 断言:让程序判断预期结果和实际结果是否一致
- Postman的断言是使用JavaScript语言编写的,写在‘Tests’标签页里
- Tests中的脚本在发送请求之后执行,会把断言的结果(PASS/FAIL)最终在‘Test Results’标签页中展示
常用断言
使用
3 全局变量和环境变量
- 概念
- 全局变量:全局变量是全局唯一的,不可重复定义的变量
- 环境变量:
- 一个变量只能属于某个环境,在某一个环境中变量不可重复定义
- 在环境与环境之间可以定义重复的变量
- 一个环境可以包含多个环境变量
- 常见环境分类:开发环境、测试环境、生产环境
- 设置变量
- 全局变量
- 手动设置
- 代码设置:
pm.globals.set("var_name", value);
- 环境变量
- 手动设置
- 代码设置:
pm.environment.set("var_name", value);
- 全局变量
- 获取变量值
- 全局变量
- 请求参数中获取:
{{var_name}}
- 代码中获取:
var value = pm.globals.get("var_name");
- 请求参数中获取:
- 环境变量
- 请求参数中获取:
{{var_name}}
- 代码中获取:
var value = pm.environment.get("var_name");
- 请求参数中获取:
- 全局变量
4 请求前置脚本
- 请求前置脚本就是在“Pre-request Script”标签中所编写的脚本,是在请求发送之前要执行的代码片段。
- 应用场景:
- 请求参数中包含一个随机数或者时间戳
- 请求之前需要对请求参数做进一步处理(如:对敏感参数进行加密)
5 Postman关联
- 当请求之间有依赖关系,比如一个请求的入参是另一个请求返回的数据,这时候就需要用到关联处理。
- 如何实现
- 要获取某个请求的响应结果数据,可以通过在‘Tests’标签页中编写JavaScript脚本来实现
var jsonData = pm.response.json();
- 多个请求之间可以使用全局变量或环境变量来传递数据
pm.globals.set("city", city);
- 获取某个全局变量的值:{{var_name}}
- 要获取某个请求的响应结果数据,可以通过在‘Tests’标签页中编写JavaScript脚本来实现
6 批量测试
要想批量执行测试用例,需要先把接口请求添加到测试集中,通过运行测试集的方式就可以实现批量运行测试用例
7 读取外部文件参数化
- 针对于某个接口,如果有大量的测试数据需要批量验证,可以把测试数据保存到数据文件(CSV、JSON)中,通过参数化的方式来实现。
- 在不同的地方获取参数的方法是不同的,介绍两种获取参数的方法:
- 请求参数可以通过{{var_name}}来引用
- 断言中的数据,由于是在Tests中编写脚本,并不能直接通过{{var_name}}来引用,可以通过内置变量 data 来获取
var username = data.username;
Newman生成测试报告
Newman是一款基于nodejs开发的可以运行Postman脚本的工具,并可以生成测试报告
1 安装
- 安装nodejs(打开cmd,输入 node -v ,看到输出node的版本信息,即代表安装成功)
http://nodejs.cn/download/ - 安装newman
- 打开cmd输入:
npm install -g newman
- 校验:安装完成后,输入
newman -v
命令查看版本信息,检测是否安装成功
- 打开cmd输入:
- 安装newman-reporter-html
- 打开cmd输入: npm install -g newman-reporter-html
2 使用
-
导出测试集数据
-
执行测试
使用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 查看
项目实战
-
初始化工作
1.1 创建测试用例结构
- 创建测试集:IHRM人力资源管理系统
- 创建目录
登录模块
员工管理模块
1.2 设置环境变量
在实际的工作中,我们既要对测试环境进行测试,也要对生产环境进行测试。
- 测试环境
- base_url=http://182.92.81.159
- token=xxx
- 生产环境
- base_url=http://www.myhrm.com
- token=xxx
-
实现测试用例
根据编写的测试用例文档,使用Postman实现测试用例
2.1 登录-登录成功
操作步骤
- 在‘登录’目录下,添加‘登录成功’的请求
- 填写请求数据:请求方式、请求URL、请求头、请求体
- 在‘Tests’标签页中,编写测试脚本:断言、业务数据处理
- 发送请求,调试脚本
实现
- 添加‘登录成功’的请求
- 填写请求数据:请求方式、请求URL
- 填写请求数据:请求头
- 编写测试脚本
- 响应体数据
- 断言结果
-
生成测试报告
newman run 测试脚本文件 -e 环境变量文件 -d 测试数据文件 -r html --reporter-html-export report.html
操作步骤
- 导出测试集数据
- 导出环境变量数据
- 执行命令:
newman run ihrm.postman_collection.json -e dev.postman_environment.json -r html --reporter-html-export report.html