Postman使用
Postmam 断言
在Test中设置,对返回的响应结果进行断言。
简介
让 Postman工具 代替 人工 自动判断 预期结果 和 实际结果 是否一致。
断言代码书写在 Tests 标签页中。查看断言结果 Test Results 标签页。
断言 - 响应状态码:Status code:Code is 200
示例:ihrm登录-断言响应状态码
在Test(测试)选项中,选择“Status code:Code is 200”,
在Test Results(测试结果)选项中,查看所有断言结果
断言 - 包含指定字符串:Response body: Contains string
示例:ihrm登录-断言包含指定字符串
在Test(测试)选项中,选择“Response body: Contains string”,编辑代码
在Test Results(测试结果)选项中,查看所有断言结果
断言 - json数据:Response body: JSON value Check
当响应结果返回的是json数据,就可以对其断言
示例:ihrm登录-断言json数据
在Test(测试)选项中,选择“Response body: JSON value Check”,编辑代码
在Test Results(测试结果)选项中,查看所有断言结果
Postman 关联
能够使用Postman处理关联数据
简介
当接口和接口之间,有依赖关系时,需要借助 postman 关联技术来实现。
如:登录接口 返回的 令牌数据,被 添加员工接口依赖。
添加员工接口 返回 员工id,被 查询员工接口依赖。
示例1:天气查询(返回city) + 百度搜索(需要city)
1、发送天气接口【http://www.weather.com.cn/data/sk/101010100.html】,从响应结果中获取city的值,并设置为全局变量glb_city
2、发送百度搜索接口【http://www.baidu.com/S?wd={{glb_city}}】,其中 wd={{全局变量}}
# Test代码 # 方式一 #// 1. 获取响应结果 var jsonData = pm.response.json() #// 2. 从响应结果中,提取 城市名 var city = jsonData.weatherinfo.city #// 3. 将城市名保存到 全局变量 pm.globals.set("glb_city", city) # 方式二 var jsonData = JSON.parse(responseBody); pm.globals.set("glb_city",jsonData.weatherinfo.city);
示例2:登录(返回token) + 添加员工(需要token)
登录成功,返回的“令牌”被添加员工接口依赖。
思路:
1. 发送登录请求,获取响应结果
2. 从json响应结果中,提取data值。拼接上“Bearer ”前缀。
注意:Bearer单词不能拼错,首字母必须大写,尾部还有一个空格
3. 拼接无误的 token,已存入环境变量。 从“眼睛”图标查看。
4. 添加员工接口,从环境变量中,提取变量login_Token。设置到请求头中,作为 Authorization 的值。
5. 填写请求体信息,发送请求。
示例3:添加员工(返回id) + 查询员工(需要id)
1、在示例2中,发送添加员工接口后,返回员工id,把id设置为环境变量,供查询员工接口使用。
Postman 参数化
简介
什么是参数化:
将测试数据,组织到数据文件中,通过脚本的反复迭代,使用不同的数据,达到测试不同用例的目标。
应用场景:
一般在测试同一个接口的不同测试点时,只有测试数据不同。考虑使用参数化。
数据文件简介
CSV
JSON
编写数据文件
CSV文件
JSON文件
导入数据文件到Postman
导入csv文件
导入JSON文件
读取数据文件数据
使用方法
根据使用位置不同,有两种读取方法。
第一种:用在请求参数(请求行、请求头、请求体)中,读取数据文件中的数据
- csv数据文件:{{字段名}}
- json数据文件:{{键名}}
第二种:用在代码(Tests)中,读取数据文件中的数据
- csv数据文件:data.字段名
- json数据文件:data.键名
示例:请求参数:请求行
需求:批量查询手机号、所属运营商,校验运营商数据正确性
接口:http://cx.shouji.360.cn/phonearea.php?number=手机号
由接口可知,请求参数在请求行的url中,符合第一种
填写接口地址、Test代码
编写csv或json数据文件
上传文件、勾选需要测试的接口
点击运行,查看运行结果
点击视图,查看运行过程
示例:请求参数:请求体body
需求:irhm登录请求,手机号/密码 由数据文件csv/json提供。
接口:https://ihrm.itheima.net/api/sys/login
请求体:注意格式,尤其是双引号、{{}}符号
Test代码:对响应结果做判断
预请求:如需,可以把数据文件中的数据添加到全局变量 / 环境变量。
若添加到环境变量,则需要指定一个环境变量。
Postman 测试报告
掌握使用newman生成测试报告的命令
使用Postman完成ihrm系统接口测试
安装node.js
cmd打开命令提示符,输⼊命令npm -v,如果能查看到npm的版本号信息(具体版本号是多少⽆所谓),说明已经安装了node.js。
如果没有版本号信息,则按以下步骤去安装。
(1)去官网下载.msi安装包:https://nodejs.org/zh-cn/download
(2)双击 .msi 安装包,勾选接受⽤户协议,不做任何设置。⼀路“下⼀步”即可。(安装过程中,别用鼠标动cmd命令窗口,以免打断安装)
(3)安装完成,输入命令npm -v能查看到版本号,就算成功了。
安装newman
要想给 postman 安装 newman 插件,必须先安装 node.js。这是前提!
(1)在线安装命令:npm install -g newman
注意:使⽤“管理员”身份,启动命令提示符,写⼊命令。
如果安装失败。避开⽹络访问⾼峰期再安装。
注意:Windows终端有缺陷!安装过程中,别⽤⿏标点⿊窗⼝⾥⾯,以免打断安装。
(2)cmd打开新终端。输⼊newman -v看到版本号,说明安装成功。
安装newman-reporter-htmlextra
安装命令:npm install -g newman-reporter-htmlextra
注意:使⽤“管理员”身份,启动命令提示符,写⼊命令。
只要newman安装成功,此插件⼀定能安装成功,如失败,可多尝试⼏次。
安装完,无法验证是否安装成功,⽣成测试报告时,⽅可验证。
从Postman导出用例集
从Postman导出测试环境(看需要)
生成测试报告
示例一:用例集文件+环境文件
找到你的文件保存目录,在目录栏那启动cmd命令窗口
在命令窗口输入newman命令,回车等待自动生成测试报告。
示例一:用例集文件+数据文件
导出用例集文件,放在跟数据文件同一目录下,cmd进入命令窗口
如果数据文件中存在多组测试数据,只会测试第一组。
除了上面两种示例,还有其它的组合模式。