概念:让程序代替人判断测试用例执行的结果是否符合预期的一个过程
特点:
postman断言使用js编写,断言写在postman的tests中
tests脚本在发送请求之后执行,会把断言的结果最终在testresult中进行展示
常用的postman提供的断言片段有以下几个:
案例:
- /* 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": "用户已存在"}');
- });
-
概念:在postman的pre-request-script中,用于在请求发送之前做一些操作,比如设置环境变量或者全局变量
概念:
设置变量:
全局变量
- 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"); /*获取环境变量*/
实际场景中,很多接口之间都是有关联的,意思就是另一个接口需要的数据来自于其他的接口,最典型的场景就是很多接口都需要登录才能够正常请求。
实现接口关联的方式就是通过环境变量,步骤如下:
var jsonData **=** pm.response.json();当一个接口的测试数据非常多时,可以使用csv文件进行批量测试。
首先需要准备csv文件。
使用csv文件中的数据时,在请求中使用通过{{变量名}}直接使用,在代码断言中需要借助postman内置的data方法获取数据,比如data.passwd,data表示的就是文件。
在批量运行时,选择文件即可,postman会自动读取文件然后进行测试
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
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!
