我按照本视频中的说明创建了一个 Webhook 监视器。显然,它工作正常。
https://www.youtube.com/watch?v=Oxsdv1VFRsE
鉴于此,我想使用它来捕获 Webhook 发送的有效负载,然后使用其中一些数据触发同一集合中的另一个请求。我决定做一个简单的尝试。我运行“Call webhook”请求,该请求仅将一个非常简单的 json 正文发送到使用“Create webhook”文件夹中的请求创建的 url webhook。该 Webhook 返回有效负载,并由运行“回显有效负载”请求的监视器捕获。可能我的概念并不完美,但我就是这么理解的。
单独调用第 1 步请求,效果完美,它在系统中创建了一些东西,我得到了一个 ID。这就是Iant此刻的结果。我希望将“回显有效负载”请求移交给“步骤 1”。我在“回显有效负载”请求的后响应脚本中使用了此代码。
// stop the collection run
//postman.setNextRequest(null)
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
console.log("hello from the Test Script!", pm.collectionVariables.get("webhookData"))
console.log("about to run Step 1.");
pm.execute.setNextRequest("2311b468-9c9e-4a59-ad2a-e37d631c107c");
我使用的是请求 ID,但使用请求名称时其行为也相同。
我想要的是,当我调用 webhook 并发送有效负载时,“回显有效负载”请求会捕获一些数据并调用“第 1 步”请求。目前我没有获得任何数据,只是确保我可以从响应后脚本调用“Sstep 1”请求。
当我调用 webhook 时,发生的情况如下:
您可以看到它正在到达监视器并运行预请求脚本和测试脚本(他们最近更改了这一点,现在称为后响应脚本)。它正在运行“即将运行第 1 步”日志,但随后抛出一个我无法弄清楚的错误。
然后,更奇怪的是,它正在运行创建 Webhook 请求,然后再次调用 Webhook。记得我用过
pm.execute.setNextRequest("2311b468-9c9e-4a59-ad2a-e37d631c107c");
控制测试流程。运行时间很长,因为它显然进入了无限循环。
我不知道
TypeError: Cannot read properties of undefined (reading 'setNextRequest')
是什么意思以及如何解决它。
我希望它能够切换到第 1 步请求。
谢谢你,
你需要改变
来自
pm.execute.setNextRequest("2311b468-9c9e-4a59-ad2a-e37d631c107c");
至
postman.setNextRequest("Echo the payload"); // Using name for calling a request