之前在使用 postman 进行接口测试时遇到了一个问题。就是需要使用变量与返回数据的变量之间进行比较。因为刚开始使用并不是很熟悉,所以卡在这个位置很长时间。所以记录一下解决办法。。。。。。。。。。。。。。
大体需求是这样的。在接口请求时会给后台传一个 version,并且后台会返回一个 version。如果这两个值相等那么 app 就使用本地的数据,如果这两个值不相等则需要拉取新的数据,并且下一次请求时使用本次返回的 version。
以下是解决方法
1.首先先设置环境变量在请求中
2.send 之后,查看返回 JSON 数据的接口并找到要比较的键值对
3.然后就在 tests 中编写获取到 version 的值的代码
var vsn = JSON.parse(responseBdoy);
这样的话 vsn.version 就是我们需要比较的值。
4.然后我们通过下面的代码获取到设置的环境变量值并赋值给 version
var version = pm.variables.get("version");
因为返回的数据类型为 number,所以我们需要把 verison 变为 number 型
var ver = Number(version)
这样 ver 就是我们的环境变量值
5.最后我们只需要进行比较就可以了,代码如下:
先是判断了这两个值是否相等,如果不相等的话就把这个返回数据中的值,也就是 vsn.version 赋值为环境变量的值 version。下次使用的时候就是本次返回的 version 的值了。最后增加一个断言判断这两个值是否已经相等即可。else 里面也就是,如果这两个值时相等的那么就直接可以进行断言了。