涉及知识点
1、全局变量&环境变量
2、上一个接口的返回值作为下一个接口的参数JSON.parse(responseBody)
3、requesttest & test(response)断言
4、列表嵌套字典
5、列表转换成字符串stringify()
,字符串切割split()
6、时间戳生成(new Date()).getTime()
7、鉴权token登录bearer[空格]tokenXXXXXXXXXXXXXXXXXXXXXXXX
8、postman 控制台日志console.log()
1、创建一个文件夹collections
,将本次的接口全部保存到文件夹中
2、创建环境变量生产环境
,用来存储url,username,password等参数,后续参数变化可直接修改环境变量即可,不需要到登录接口修改参数
如果有测试环境和生产环境的小伙伴,可直接创建2个环境变量,到时候直接切换就可以更改环境了。
如下图,点击设置icon
添加环境或者全局变量,点击add/update
全局变量
:整个postman生效环境变量
:当前文件夹生效
作用范围全局>环境
,使用方式{{变量名称}}
3、添加一个接口,填写接口地址
,get/post请求
,body-请求参数
,hearder
等
上图我们可以看到,结果返回了一个access_token
,对于某些接口来说,需要保持登录状态才可以继续后续操作,所以我们可以将token设置成一个全局变量,后续接口在header
中加入Authorization
=bearer{{access_token}}
就可以了。
设置全局变量
pm.globals.set("access_token", access_token);//全局
pm.environment.set("variable_key", "variable_value");//环境
4、上传文件
5、参数是list嵌套字典
需要从preview
中提取type,并生成一个list,之后parser
在调用
/api/excel/preview
接口的返回值/api/excel/parser
部分参数
1、将list转换成字符串JSON.stringify(list)
,不然list全是[object,object][object,object]
...
2、生成字典var dict= {}; dic['type']=value;
--------/api/excel/preview
test中写入的断言---------------------------------------------------------------------
var Jsondata = JSON.parse(responseBody)
var sheet_names = Jsondata.result[0].name
var row_offsets = Jsondata.result[0].row_offset
var udt = new Array();
console.log(Jsondata.result[0].schema.length)
for(var i=0;i<Jsondata.result[0].schema.length; i++)
{
var dic={};
dic['type']=Jsondata.result[0].schema[i].type
udt[i]=dic
}
var udt_list =JSON.stringify(udt)
pm.environment.set("sheet_names",sheet_names);
pm.environment.set("row_offsets", row_offsets);
pm.environment.set("udt",udt_list);
6、生成时间戳getTime()
var time =(new Date()).getTime();
pm.environment.set("title", title+time);
7、字符串切割split()
和查看日志
打开view--show postman console
,可以看console.log()
的内容
var data='哈哈哈哈哈.xlsx
var name = data.split('.')[0] //.为分隔符,取list的第0个元素:name=哈哈哈哈哈
console.log(name)
8、postman集合/文件夹的工作流postman.setNextRequest()
setNextRequest()
总是在当前脚本所有语句执行完成后才执行。这意味着如果在其他代码块之前放置setNextRequest()请求,这些代码仍然会被执行;setNextRequest()
有一个作用域,它是集合运行的源。这意味着如果我们运行一个集合,我们可以跳转到集合中的任何请求(即使是使用相同语法的文件夹内的请求)。但是,如果运行文件夹,则setNextRequest()
的作用域限于该文件夹;也就是说我们可以跳转到该文件夹内的任何请求,但不能跳转到文件夹外的任何请求。这包括其他文件夹内的请求以及集合中的根级别请求。
Postman教程——构建工作流-by果冻想
Postman教程——构建工作流-官方文档
Postman中文文档——构建工作流程-by千夜
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。