这个场景曾经适用于今年以前版本的邮递员:
postman.setGlobalVariable('test', 'my_value')test的全局变量my_value在Globals列表中可用。在当前(5.2.1)版本的Postman中,全局变量不会从抛出错误的预请求脚本中持久化。
我的用例是为删除REST调用实现一个保护,以避免无意中删除服务器端对象。用户必须发送相同的请求(按下发送)一定数量的时间,以确保他真的想要执行这个请求。这是实现的,直到最近才开始使用全局变量。
发布于 2017-10-06 12:03:58
我认为,如果将url设置为全局或环境变量,并在请求中使用{{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);
}我觉得这样的东西能满足你的要求..。
https://stackoverflow.com/questions/46603460
复制相似问题