postman
postman
-
变量
-
分类:普通变量、数据变量、环境变量、测试集变量、全局变量
-
作用域范围:普通<数据<环境<测试集<全局
-
各类型变量表单处皆使用{{variables_name}}形式引用
-
普通变量: pm.variables.set('key','value')、pm.variables.get('key')实现存取 作用域:当前接口
-
数据变量 :由数据驱动csv或json格式文件导入
-
环境变量 :pm.environment.set('key','value')、pm.environment.get('key')实现存取或手动编辑 作用域:当前环境内
-
测试集变量 :测试集->右键edit->variables处手动编辑 作用域:测试集内生效
-
全局变量 pm.globals.set('key','value')、pm.globals.get('key')实现存取、手动编辑 作用域:全局
-
变量只可存储字符串类型,对于公共函数的处理办法,可以采用将匿名函数存入变量使用eval(pm.environment.get('funName') + "(1)")执行,或作为全局变量定义上层级脚本中。
-
-
沙箱
在测试沙箱中可编写预处理脚本、断言脚本,执行流程如下图。测试集、文件夹右键edit可见编写位置
-
上下文关联
1、上文使用pm.environment.set存取所需变量、下文使用pm.environment.get取出作为参数
2、预处理中调用异步函数sendRequest新建请求,回调中保存所需变量,供当前接口使用。
-
流程跳转
1、测试集默认是串行顺序执行,如果需要进行流跳转,调用postman.setNextRequest(仅跳转同级目录下,在run测试集时生效),终止时postman.setNextRequest(null)即可
-
公共变量
1、按照postman的执行流程,公共函数可定义在测试集或文件夹层级的预处理或断言脚本中,相当于全局变量,一些公共处理部分,如接口签名也可在测试集预处理脚本中实现
定义全局函数或变量
-
- 实践
-
postman处理图片验证码
将验证码图片文件流转为base64字符串,调用百度或腾讯orc接口识别
验证码图片文件流转base64
- 可参考外链