@modelattribute注解用postman测试怎么传参_工具篇:postman使用技巧

本文介绍了如何在Postman中利用全局和局部变量处理@modelattribute注解的参数传递,以及通过pre-request-script在发送请求前执行JavaScript代码,包括设置和获取token,以便在测试接口时确保有效。文中详细阐述了pre-request-script的用途、工作原理,并给出了具体的使用示例和console面板的调试方法。
摘要由CSDN通过智能技术生成

0cc2ef668ed5a5e6290d10022b2f3e50.png

在日常开发中我们经常以两种情景:

  1. 因为接口部署在不同的环境(一般至少是三个,开发,测试和线上),所以我们在测试接口时需要来回切换它的url,或是同样的接口要分成至少三份
  2. 有些b端项目中对于 token 的时效性要求比较苛刻,我现在做的这个项目token的有效时间只有10分钟,很明显我们不可能把时间浪费在获取token上,但是我们在发送请求的时候又要带上有效的 token ,那么我们必然要在测试接口之前发送一个获取 token 的请求
    很幸运,postman 完全可以解决以上需求,

第一个需求需要 postman 中的全局或者局部变量即可实现,

首先打开 postman ,我们可以看到右上角那里有个眼睛按钮,以及它右侧的目录按钮,详情如图

446dc83c481bff1b0d29b69e1820eae7.png

建议先点开目录按钮,在里面增加作用域,否则的话,如果都挂在 global上面,容易引起变量污染, 比如我这个展示的这个项目名为 cigoadmin , 那么我就增加一个作用域 cigoadmin ,那么我在里面增加的变量就不会受到其他项目的影响了,点开如下图:

9acf23c22512e6d83e2abc9e3aad2c5a.png

可以直接在里面增加变量,当然也可以在下拉框那里选好作用域,然后点击眼睛按钮,在里面增加变量,然后即可在该作用域下使用这个变量了,如上图所示的 url ,使用时只需要用双大括号括住,把变量放进去即可。这样的话,我们只需要在里面增加三个变量,url,testurl,onlineurl分别代表着开发,测试和线上环境,我们测试的时候只需要稍微修改一下即可。

至于第二个,我们可以在 pre-request-script 去具体实现

首先,看一下 pre-request-script 是什么,顾名思义,就是在执行当前接口之前所执行的操作。

其次,看一下 pre-request-script 能干什么,在此之前我们需要了解到 Postman Sandbox,Postman Sandbox是一个JavaScript执行环境,我们可以在编写预请求脚本和测试脚本时可用。在这个沙箱中执行我们在 pre-request-script /tests 脚本部分中写入的代码。换句话说就是,我们可以在这里面编写js脚本,然后这些脚本会在发送当前接口之前执行完毕。

最后,看一下 pre-request-script 怎么使用:

比如,后端同学需要我们每次传参的时候都要带上当时的时间戳,我们完全不必每次在控制台去打印,然后在copy过去,因为里面是支持js的,我们直接在里面编写js代码即可,唯一的区别就是将这个变量共享到 headers 或者 body 中所使用的代码有些特殊而已,具体代码如下:

var date = new Date();
date=Math.round(date/1000)
pm.environment.set("timestampHeader", date);

下图为具体使用方式:

9fb1af70f1a3842b8e404f0a5493f762.png

接下来就是重头戏了:

在 pre-request-script 中编写请求

下面是例子

var data = {
"user":"admin",
"psw":"123456"
}
// 获取环境信息
pm.environment.get("url")
const echoPostRequest = {
  url: 'url'+'/v1/xxx',
  method: 'POST',
  header:'Content-Type:application/json',
  body: {
    mode: 'raw',
    raw: JSON.stringify(data)
  }};
pm.sendRequest(echoPostRequest, function (err, res) {
    console.log(res.json());
});

console 面板

postman 既然支持js的编写,同样也是支持js的调试的,它有 console 面板供我们查看接口信息的,点击左下角的 console 按钮

48ce3a8bbbb29739eea6d26ed1528b02.png

即可弹出console面板

06e0aad57819b215df419de94212b61c.png

然后我们就能够在里面看到我们刚刚打印出来的信息了,最后,将 token 按照上面同样的操作将该值存在环境变量中,然后在 header 或者 body 中用大括号调取即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值