集合监视器无法识别请求之间的 setTimeout(邮递员)
Posted
技术标签:
【中文标题】集合监视器无法识别请求之间的 setTimeout(邮递员)【英文标题】:Collection Monitor unable to recognize setTimeout between Requests (Postman) 【发布时间】:2022-01-19 21:28:34 【问题描述】:我似乎无法理解为什么邮递员监视器无法遵守我在集合中的一个请求中输入的setTimeout()
规则。
我在一个集合中有 3 个请求(如下)。一旦发出第一个请求,第二个请求,检索请求就会延迟 25000 毫秒。
Create Request
Retrieve Request <- setTimeout() Pre-Request Script
Delete Request
setTimeout() 位于 Pre-Request Script 中,如下所示:
setTimeout(() => , 25000)
如果我手动运行,集合可以正常工作(并通过)。但是,如果集合在 Monitor 中运行,则它不会计算它并且一切都会失败。
您可以在受监控的控制台日志中轻松看到这一点,该日志显示收集运行时间(以毫秒为单位),而无需遵守 setTimeout():
另外,在 Postman 的学习中心上,如果放置在 Pre-Request 或 Test Script 部分,添加延迟肯定应该在 Monitor 中起作用:
不确定我在这里缺少什么 - 感谢您的帮助。
更新:
调整了监视器本身的一些设置。但是,在将“设置请求超时”和“设置请求之间的延迟”都设置为 25000 毫秒后,在监视器中再次运行集合后,控制台日志仍然显示集合在大约一秒钟内直接运行... .
【问题讨论】:
【参考方案1】:它可以按预期工作,只需尝试在所有请求的测试脚本中打印 console.log(Date())。你可以看到时差是25秒
请注意,settimeout 是异步的。它不会停止测试脚本中的代码流,它会在 25 秒后解析,并且在此时间内所有其他代码将被执行,并在退出测试脚本之前等待 settimeout 函数调用完成
【讨论】:
以上是关于集合监视器无法识别请求之间的 setTimeout(邮递员)的主要内容,如果未能解决你的问题,请参考以下文章
Font Awesome setTimeout函数无法动画(Javascript)
PHP MySQL X DevAPI Collection::existsInDatabase() 方法无法识别带有附加列的集合