只会postman单接口测试?快看看这里
谢谢打开这篇文章的每个你
前言:
在日常测试过程中,经常遇到需求涉及到多个系统,但是其他系统进度减慢无法进行测试,此时就需要“mock”,也就是模拟接口数据来达到测试的目的。通过postman的collection,可以将相同类型或者同一个流程下的需要mock的接口请求保存下来,以便实时调用。
初始化接口请求
2、变量node_name:已设置环境变量和全局变量
3、断言:在tests编辑两个断言,一个是状态码200,一个是响应数据的name字段=变量node_name的值
1、点击save按钮,打开保存页面
2、编辑请求的名称和描述
3、创建新的collection文件夹(也可以选择已有的文件夹)
4、创建collection后,选择该collection
5、点击save to XXX(collection名称)
Collection保存成功后,可以在postman-collection面板上找到,如下图:
运行collection
一、运行界面文字说明
运行界面部分功能说明:
Iterations:运行几次
Delay:每轮运行的间隔时间,默认0ms
Log response :请求日志,保持默认 fror all requests(所有的请求都记录日志)
Data:选择测试数据
Run v2ex:运行名称为“v2ex”的collection
二、变量使用环境变量时运行
对应的tests断言内的node_name要设置成获取环境变量,断言才会通过
运行collection时选择环境变量(环境变量node_name=python):
运行结果:
运行结果2个断言都通过
变量使用全局变量时运行
对应的tests断言内的node_name要设置成获取全局变量,断言才会通过
运行collection时选择no environment(此时默认是使用全局变量node_name=php)
运行结果:
三、数据data驱动测试
Data数据文件常用格式:json、csv、txt三种格式,一般常用json格式
Json格式数据文件编写:
格式:[{“变量名1”:” 变量名1的值”},{“变量名2”:” 变量名2的值”}]
文件格式:文件名.json
运行collection时选择no environment,然后选择data文件,如下图:
运行结果:
总结说明:
断言部分跟 Postman 隔离开的,在断言部分不能直接获取 Postman 中的变量值,运行时会提示变量未定义,此时需要使用pm.environment.get("变量")、pm.globals.get("变量 ")、data["变量"]来获取postman里面的变量值
1、变量未定义:
使用data数据运行时,tests的断言要记得从postman的data数据内获取,语法:变量名=data[“测试数据文件内的变量名称”],否则会出现node_name未定义而运行失败的情况,如下图:
2、变量获取错误
Tests断言使用从postman的环境变量取值,而运行collection时选择no environment(使用全局变量),导致变量值与实际运行结果的值不一致,运行结果fail
推荐学习
码同学《高级性能压测全栈班》课程,十年性能测试专家全程授课。
2个半月学会全流程性能压测实战,从性能工具、业务脚本编写、性能环境搭建、场景加压策略、服务端性能指标监控、性能瓶颈分析、性能调优等核心技能全面覆盖,配套多个实战项目教学,学完轻松到达中高级性能测试水准!学完普遍涨薪48.6%+!
扫码咨询立享优惠!
Bye~