4

涉及知识点

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,将本次的接口全部保存到文件夹中

clipboard.png

clipboard.png

2、创建环境变量生产环境,用来存储url,username,password等参数,后续参数变化可直接修改环境变量即可,不需要到登录接口修改参数
如果有测试环境和生产环境的小伙伴,可直接创建2个环境变量,到时候直接切换就可以更改环境了。

如下图,点击设置icon添加环境或者全局变量,点击add/update

全局变量:整个postman生效
环境变量:当前文件夹生效
作用范围全局>环境使用方式{{变量名称}}

clipboard.png
clipboard.png

3、添加一个接口,填写接口地址get/post请求body-请求参数hearder

clipboard.png

上图我们可以看到,结果返回了一个access_token,对于某些接口来说,需要保持登录状态才可以继续后续操作,所以我们可以将token设置成一个全局变量,后续接口在header中加入Authorization=bearer{{access_token}}就可以了。

设置全局变量
pm.globals.set("access_token", access_token);//全局
pm.environment.set("variable_key", "variable_value");//环境

clipboard.png

4、上传文件

clipboard.png
clipboard.png

5、参数是list嵌套字典

需要从preview中提取type,并生成一个list,之后parser在调用

/api/excel/preview接口的返回值
clipboard.png
/api/excel/parser部分参数
clipboard.png

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()的作用域限于该文件夹;也就是说我们可以跳转到该文件夹内的任何请求,但不能跳转到文件夹外的任何请求。这包括其他文件夹内的请求以及集合中的根级别请求。
clipboard.png

Postman教程——构建工作流-by果冻想
Postman教程——构建工作流-官方文档
Postman中文文档——构建工作流程-by千夜


Feng
9 声望1 粉丝

渣级菜鸟


引用和评论

0 条评论