我在邮递员中有一个测试集。我有一个要在集合级别运行的预请求脚本,但集合中有特定请求,我希望预请求脚本不要运行。
我怎样才能实现这个目标?
您不能这样做,但作为解决方法,只需为收集脚本添加一个条件,例如:
if (pm.info.requestName !== "the request you want to skip") {
}
如果您想动态执行此操作,则必须从要跳过的请求之前运行的请求中执行此操作:
例如:
在请求1中:
pm.variable.set("skip", true) // to skip request 2
在请求2中:
pm.variable.set("skip", false ) // to ensure remaining requests don't skip collection script
并在集合中添加
if (!pm.variable.get("skip")) {
//then execute
}
就我而言,也许不是您的,但我希望这对其他人有帮助,我使用集合级别预请求来获取身份验证令牌,然后设置集合级别变量以供每个端点的使用。在每个端点中,我将配置授权以使用 {{token}}。
这显然不理想,因为这意味着每个请求都会获取一个新令牌,并且意味着将每个请求的身份验证设置为 {{token}}。
我改变了方法,将请求后脚本添加到身份验证端点,以更新集合变量。然后每个端点只需将身份验证设置为从父级继承。
现在,我只需在需要时运行一次获取令牌端点即可。
更干净的方法。
这是获取令牌端点的请求后脚本:
if (response.token) {
pm.collectionVariables.set("xxx-token", response.token);
}
然后只需在集合的“变量”选项卡中定义一个“xxx-token”,并在每个请求的“授权”选项卡中将“类型”设置为“继承表单父级”即可。