背景:我想在接口层面确定一下,新增应用成功后,能否被查询出来。
工具:postman
下面是代码:
前置处理的代码:
//使用时间戳生成随机数,用于生成随机的app_name
var randstr=Date.now();
var appname=‘APP-’+randstr;
pm.environment.set(“appname”,appname);
pm.globals.set(“appname1”,appname);
后置处理的代码:
//构建请求检查新增的应用能否被查询出来
var name = pm.globals.get(‘appname1’)
var status = pm.globals.get(‘appstatus1’)
const fingnewapp = {
url: 'https://stars-test.starlinke.tech/rest/application?page=1&perPage=20&name=' + name + '&status=' + status,
method: 'get',
header: 'authorization:Bearer' + ' ' + pm.environment.get('token'),
};
pm.sendRequest(fingnewapp, function (err, response) {
var appjsdata = response.json();
var chartappname = appjsdata.data.data[0]['name'];
var chartappstatus = appjsdata.data.data[0]['status'];
//将查询结果存入变量
pm.globals.set("chartappname1", chartappname);
console.log("222222"+chartappname);
var ap=pm.globals.get("chartappname");
console.log("11111"+chartappname)
pm.globals.set("chartappstatus1", chartappstatus);
});
//检查新增的应用能否被查询出来
tests[“检查新增的应用能否被查询出来”] = pm.globals.get(“chartappname1”) == pm.globals.get(“appname1”)
console.log(pm.globals.get(“chartappname1”))
console.log(pm.globals.get(“appname1”))
执行后的结果:
问题现象:
我发现断言失败后,我去检查了我的全局变量,发现对应的值已经被成功的写入,但是在取值进行断言时,我发现我取的chartappname1的值始终是上一次的结果。而appname1取值是当前执行的结果。进而导致我的断言一直失败。我检查代码后,没有发现错误在哪里,所以想向各位前辈请教一下,是什么原因导致了我的取值错误。。。