目录
一、postman下载与安装
二、postman的基础用法
2.1 发送GET请求
2.2发送POST请求
2.2.1 提交表单数据
2.2.2 提交JSON数据
三、postman的高级用法
3.1 管理用例
3.2 postman断言
3.2.1 断言介绍
3.2.2 常用postman断言
3.3 全局变量与环境变量
3.3.1 概念
3.3.2 变量设置
3.4 请求前置脚本
3.5 postman关联
3.6 批量执行测试用例
3.7 读取外部文件实现参数化
3.7.1 定义数据文件
3.7.2 选择数据文件
3.7.3 获取数据文件中的参数
四、postman生成测试报告
4.1 Newman
4.2 导出测试集数据
4.3 执行测试
4.4 查看测试报告
postman作为最基础的接口测试工具,具有以下优点:
1)拥有简单易用的图形界面
2)可以直接保存接口请求的记录
3)使用collections可以更有效的管理组织接口
4)可以在团队之间同步接口数据。
安装方式:下载地址https://www.getpostman.com/apps
案例:1)访问tpshop商城,通过查询字符串的方式传递搜索的关键字iphone,查看响应数据
2)请求路径格式为:http://localhost/home/goods/search.html?q=iphone
分析:请求方式GET
请求路径 :http://localhost/home/goods/search.html
传参方式:查询字符串(q=iphone)
案例:1)登录TPshop项目的登录接口,请求数据(username:13800000002,password:123456;verify_code:1234
2)登录接口URL:http://localhost/index.php?m=Home&c=User&a=do_login
实现步骤:
1)设置请求方式为post
2)输入请求路径
3)设置请求数据(请求体-表单提交)
4)点击发送请求
5)查看响应数据
案例:1)请求IHRM的登录接口,请求数据{"mobile":"13800000002","password":"123456"}
2)登录接口URL:http://182.92.81.159/api/sys/login
分析:
请求方式:POST
请求数据:
请求头:Content-Type: application/json
请求体-JSON数据:{"mobile":"13800000002", "password":"123456"}
实现步骤:
1)创建测试用例集--new collection
·collection 可以理解为一个项目(系统),包含多个接口请求
2)创建目录--add folder
·folder可以理解为一个项目模块
3)添加请求--add requests
操作图示:
断言:用程序判断预期结果与实际结果是否一致
postman断言是使用javaScript语言编写的,写在Test标签页里。
Tests中的脚本在发送请求之后执行,会把断言的结果(PASS/FALL)最终在‘Test Result’标签页中展示
选择断言代码片段
在Tests输入框的右侧配置了一些常用的断言代码片段,点击后自动填写到Tests输入框中,然后再行修改。
Status code: Code is 200 判断响应状态码是否为200
Response body: Contains string 判断响应体中是否包含指定的字符串
Response body:Is equal to a string 判断响应体数据是否等于指定的字符串
Response body:JSON value check 校验响应的JSON数据
全局变量:全局变量是全局唯一的,不可重复定义的变量
环境变量:
· 一个变量只能属于某个环境,在某个环境中的变量不能重复定义。
· 在环境与环境中之间可以定义重复的变量
·一个环境可以包含多个环境的变量
·常见环境分类:开发环境、测试环境、生产环境
全局变量
1)请求参数中获取:{{var_name}}
2)代码获取: var_value = pm.globals.get(var_name)
环境变量
1)请求参数中获取:{{var_name}}
2)代码中获取:var value = pm.environment.get(var_name)
请求前置脚本就是在pre-request Script标签中编写的脚本 ,是在发送请求之前要执行的脚本。
应用场景:
请求参数中包含一个随机数或者时间戳
请求之前需要对请求参数做进一步处理(如:对敏感参数进行加密)
案例: 请求Tpshop项目获取图片验证码的接口,需要在URL中设置随机数,
请求路径:http://localhost/index.php?m=Home&c=User&a=verify&r=0.6569606479434671
分析:在JS中如何生成随机数?var r= Math.random(); // 返回[0, 1)之间的随机数
当请求之间有依赖关系,比如一个请求的入参是另一个请求的返回数据,这时候就需要用到关联处理。
如何实现:要获取某个请求的响应结果数据,可以在‘Tests’标签页中编写JavaScript脚本来实现
//获取json格式的响应数据
var jsonData = pm.response.json
多个请求之间使用全局变量或者环境变量来传递数据
//把数据保存到全局变量中
pm.globals.set("city",city);
获取某个全局变量的值:{{var_name}}
案例:
1)请求获取天气的接口,http://www.weather.com.cn/data/sk/101010100.html ;
2)获取返回结果中的城市名
3)调用百度搜索接口:http://www.baidu.com/s?wd=北京,获取的城市名称作为请求参数
批量执行测试用例,需要先将接口请求添加到测试集中,通过运行测试集的方式可以实现批量运行测试用例。
操作步骤
常用的数据文件格式有:CSV、JSON
在run collection中弹出框选择data下select files 上传csv文件或者json文件
需求:批量查询手机号归属地和所属运营商信息,并校验运营商数据是否正确
接口地址:http://cx.shouji.360.cn/phonearea.php?number=13012345678
部分测试数据:
手机号 : 13012345678 运营商 : 联通手机号 : 13800001111 运营商 : 移动手机号 : 18966778899 运营商 : 电信
phone,sp13012345678,联通13800001111,移动18966778899,电信
[{"phone":"13012345678,"sp":"联通"},{"phone":"13800001111","sp":"移动"},{"phone":"18966778899","sp":"电信"}]
postman生成测试报告主要是依赖newman,Newman是一款基于nodejs开发的可以运行的postman脚本工具,可以生成测试报告。
环境准备:
安装nodejs:
下载地址:http://nodejs.cn/download/
如果下载的是安装包,下载后双击即可;
如果下载的是压缩包(.zip),解压到某个目录后,需要配置环境变量
校验:打开cmd,输入node -v,看到输出的node的版本信息,即代表安装成功
安装newman
安装newman
打开cmd输入:npm install -g newman
校验:安装完成后,输入newman-reporter-html
打开cmd输入:npm install -g newman-reporter-html
newman run 测试脚本文件 -e 环境变量文件 -d 测试数据文件 -r html --reporter-html-export report.htmleg:newman run demo.postman_collection.json -r htmlnewman run demo.postman_collection.json -r html --reporter-html-export report.html
命令说明: