断言
概念:让程序代替人判断测试用例执行的结果是否符合预期的一个过程
特点:
-
postman断言使用js编写,断言写在postman的tests中
-
tests脚本在发送请求之后执行,会把断言的结果最终在testresult中进行展示
-
常用的postman提供的断言片段有以下几个:
- status code is 200:断言响应状态码是否为200
- JSON value check:断言响应体json数据校验
- contains string:断言响应体是否包含字符串
- euqal to a string:断言响应体是否等于指定字符串
案例:
/* pm.test是postman内置对象pm对外提供的一种名称为test的方法,他的功能是使用pm.test来编写测试脚本时,即使方法内部处理内容出现错误也不会影响后续自动化脚本的运行。 */
/* 断言响应状态码是否是200 */
pm.test("响应状态码", function () {pm.response.to.have.status(200);
});
/* 断言响应的json数据 */
pm.test("Your test name", function () {var jsonData = pm.response.json();pm.expect(jsonData.message).to.eql("用户已存在"); /* jsondata就是后端返回给前端的json数据,是js中的对象,获取数据通过点点点的方式 */
});
/* "判断响应体是否和预期一致" */
pm.test("判断响应体是否和预期一致", function () {pm.response.to.have.body('{"code": 400, "message": "用户已存在"}');
});
请求前置脚本-Pre-request-Script
概念:在postman的pre-request-script中,用于在请求发送之前做一些操作,比如设置环境变量或者全局变量
全局变量和环境变量
概念:
- 全局变量:是全局唯一的,不可以被重复定义
- 环境变量:可以有多套环境,如开发环境、测试环境、生产环境等,每个环境之间相互隔离,每个环境中可以定义多个环境变量,多个环境变量之间变量可以重复,但是一个环境变量内变量不能重复。
- 注意:在使用环境变量时,postman必须现将环境切换到环境变量下才可以使用对应的环境变量,另外环境变量的优先级是高于全局变量的。
设置变量:
-
全局变量
- 手动设置
- 在请求前置脚本中通过代码设置。
pm.globals.set("ip", "127.0.0.1"); pm.environment.set("port", "8000");
-
环境变量
- 手动设置:需要先创建一个环境变量,然后在环境变量中进行设置
- 在请求前置脚本中设置
pm.environment.set("name", "aaa");
获取变量:
-
请求参数中获取
- 获取全局变量/环境变量:{{变量名称}}
-
代码中获取:在请求前置脚本中获取
pm.globals.get("variable_key"); /*获取全局变量*/ pm.environment.get("variable_key"); /*获取环境变量*/
接口关联
实际场景中,很多接口之间都是有关联的,意思就是另一个接口需要的数据来自于其他的接口,最典型的场景就是很多接口都需要登录才能够正常请求。
实现接口关联的方式就是通过环境变量,步骤如下:
- 在tests也就是请求之后执行的脚本中获取接口返回数据,获取接口返回数据
var jsonData **=** pm.response.json();
- 将需要的接口数据添加到环境变量中。
- 在其他接口中使用环境变量即可。
读取外部csv文件实现参数化
当一个接口的测试数据非常多时,可以使用csv文件进行批量测试。
首先需要准备csv文件。
使用csv文件中的数据时,在请求中使用通过{{变量名}}
直接使用,在代码断言中需要借助postman内置的data
方法获取数据,比如data.passwd
,data
表示的就是文件。
在批量运行时,选择文件即可,postman会自动读取文件然后进行测试
newman生成测试报告
newman是一款基于nodejs开发的可以运行Postman脚本的工具,并且可以生成测试报告。
安装newman之前需要先安装node.js,安装完成之后在安装Newman,通过npm install -g newman
进行安装,最后安装newman-reporter-html,同样通过npm install -g newman-reporter-html
安装。
安装完成之后,就可以使用newman生成测试报告了,生成测试报告步骤如下:
- 导出测试集
- 导出环境变量
- 导出全局变量
- 建议将这三个文件放在同一个目录下
- 最后执行命令生成测试报告
newman run 测试脚本文件 -e 环境变量文件 -g 全局变量文件 -d 测试数据文件 -r html --reporter-html-export report.html
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!