Postman中多postman.setNextRequest执行异常求助
解决方案:Postman 多请求顺序执行问题
嘿,哥们,我马上就搞懂你遇到的问题了!你这段代码的问题出在Postman的postman.setNextRequest()的工作机制上——这个方法是覆盖式的,每调用一次就会替换掉之前设置的下一个请求。
你看你现在把一堆setNextRequest写在同一个脚本里,最后只有最末尾的那行postman.setNextRequest('Read_PODOCUMENTENTRY')会生效,前面所有的设置都被直接覆盖了,这就导致触发请求之后,只会跳到最后指定的那个请求,中间的那些自然就没机会执行啦!
正确的做法:分请求设置下一个步骤
要实现按顺序执行你列的所有请求,你需要把setNextRequest分散到每个请求的Tests脚本里,让每个请求执行完后再指定下一个要运行的请求,具体步骤如下:
- 在你的「触发请求」的Tests标签里,添加:
postman.setNextRequest('ReadByQuery_PODOCUMENT'); - 打开
ReadByQuery_PODOCUMENT的Tests标签,添加:postman.setNextRequest('Read_PODOCUMENTENTRY'); - 接着在
Read_PODOCUMENTENTRY的Tests里,设置下一个请求:postman.setNextRequest('Create PO Trxn 3.0 - With Deliver to tag at header over ridden'); - 按照这个逻辑依次往下配置,直到最后一个
Read_PODOCUMENTENTRY请求,在它的Tests里添加:postman.setNextRequest(null); // 执行完这个请求后停止流程
额外提示
- 确保每个请求的名称和
setNextRequest里的字符串完全一致,Postman对名称是大小写敏感的哦! - 如果用Collection Runner执行,记得勾选「Continue on error」(如果允许某个请求失败后继续执行后续步骤的话)。
- 从你提供的Collection文件夹结构来看,所有请求都在同一个目录下,只要名称匹配就没问题啦!
这样设置后,Postman就会严格按照你想要的顺序一步步执行所有请求了~
内容的提问来源于stack exchange,提问作者Jonathan Vaz
相关产品推荐
相关产品推荐

