Postman - TypeError:无法读取未定义的属性(读取“setNextRequest”)

问题描述 投票:0回答:1

我按照本视频中的说明创建了一个 Webhook 监视器。显然,它工作正常。

https://www.youtube.com/watch?v=Oxsdv1VFRsE

鉴于此,我想使用它来捕获 Webhook 发送的有效负载,然后使用其中一些数据触发同一集合中的另一个请求。我决定做一个简单的尝试。我运行“Call webhook”请求,该请求仅将一个非常简单的 json 正文发送到使用“Create webhook”文件夹中的请求创建的 url webhook。该 Webhook 返回有效负载,并由运行“回显有效负载”请求的监视器捕获。可能我的概念并不完美,但我就是这么理解的。

enter image description here

单独调用第 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 时,发生的情况如下:

enter image description here

您可以看到它正在到达监视器并运行预请求脚本和测试脚本(他们最近更改了这一点,现在称为后响应脚本)。它正在运行“即将运行第 1 步”日志,但随后抛出一个我无法弄清楚的错误。

然后,更奇怪的是,它正在运行创建 Webhook 请求,然后再次调用 Webhook。记得我用过

pm.execute.setNextRequest("2311b468-9c9e-4a59-ad2a-e37d631c107c");

控制测试流程。运行时间很长,因为它显然进入了无限循环。

我不知道

TypeError: Cannot read properties of undefined (reading 'setNextRequest')
是什么意思以及如何解决它。

我希望它能够切换到第 1 步请求。

谢谢你,

webhooks postman-collection-runner postman-pre-request-script postman-testcase postman-native-app
1个回答
0
投票

你需要改变

来自

pm.execute.setNextRequest("2311b468-9c9e-4a59-ad2a-e37d631c107c");

postman.setNextRequest("Echo the payload"); // Using name for calling a request
© www.soinside.com 2019 - 2024. All rights reserved.