此场景过去曾在今年的Postman版本中使用:
postman.setGlobalVariable('test', 'my_value')
test
的全局变量my_value
。< / LI>
在Postman的当前(5.2.1
)版本中,全局变量不会从引发错误的预请求脚本中保留。
我的用例是为DELETE REST调用实现一个保护措施,以避免无意中删除服务器端对象。用户必须发送相同的请求(按发送)一定次数,以确保他真的想要执行此请求。这是在最近使用全局变量实现并工作的。
答案 0 :(得分:0)
如果您将网址设置为全局或环境变量并在请求中使用{{url}},我认为您可以制定解决方法。
如果是这样,在预先请求脚本中,您可以将其设置为无效值,这样可以避免发送正确的请求,并且将设置其他全局请求。
您可以根据您在其他全球范围内设置的一定数量的点击次数进行更新。即
var counter = postman.getGlobalVariable('counter');
if (counter == undefined)
{
postman.setGlobalVariable('counter', 0); // initialize counter if not exists
}
var validurl= postman.getGlobalVariable('valid_url')
var current_url= postman.getGlobalVariable('url') // keep the current url which is valid
if (validurl == undefined)
{
postman.setGlobalVariable('valid_url', current_url) // store the valid url if not done yet
}
counter = parseInt(counter) + 1 // then if you call it three times it should execute ...
console.log("info counter " + counter)
postman.setGlobalVariable('counter', counter)
if (counter < 3) // let say three tries, to be sure
{
pm.globals.set("url", "dummy"); // other syntax, no matter => request fails
}
else
{
// set back url
pm.globals.set("url", validurl);
}
我觉得这样的事情可以满足你的要求......