提取响应并使用 While Controller 在 Jmeter 中等待响应
Extracting response and using While Controller to wait for response in Jmeter
全部,我需要额外的帮助。我已经尝试研究并正在使用以下资源指南。 https://www.blazemeter.com/blog/using-while-controller-jmeter
问题
我需要实现一种方法来等待来自服务器的特定响应,并记录从请求开始到我在 Jmeter 中收到 Complete 响应结束所花费的时间。我一直在看 while controller 并研究它。
问题#1
如果我添加一个 while 控制器,我的请求会失败,因为它添加了多个令牌。如果我在没有 while 控制器的情况下保留它,那么它只会获得 1 个持有者令牌,并且能够提交 get 请求并适当地获得响应。我怀疑在我的脚本中的其他地方有一个预处理,这样做...
使用beanshell预处理器获取token
sampler.getHeaderManager().add(new Header("Authorization","Bearer " + vars.get("BEARER")));
问题 #2
我有一个 GET 请求来检查请求的状态。 BODY 中的响应返回为 json
"{"Status": "RECEIVED", "DllUrl": "", "Message": " "}"
我需要它来继续检查 COMPLETE 的状态……..也可能需要检查是否失败
正在查看正则表达式提取器以获取状态并且仅在找到 COMPLETE 状态时才停止。这样我就可以测量完成时间的开始和结束时间。任何帮助和指导都会有所帮助。
您要添加 header 而不是删除前一个,因此它会在每次迭代时添加另一个 header。
事实上你不需要为此做任何脚本,你可以在HTTP Header Manager:
中定义header
关于提取此 Status
值,最好使用 JSON Extractor 配置如下:
完成后,您可以使用以下 __jexl3() function 来“等待”直到操作完成:
${__jexl3("${status}" != "COMPLETE",)}
全部,我需要额外的帮助。我已经尝试研究并正在使用以下资源指南。 https://www.blazemeter.com/blog/using-while-controller-jmeter
问题
我需要实现一种方法来等待来自服务器的特定响应,并记录从请求开始到我在 Jmeter 中收到 Complete 响应结束所花费的时间。我一直在看 while controller 并研究它。
问题#1 如果我添加一个 while 控制器,我的请求会失败,因为它添加了多个令牌。如果我在没有 while 控制器的情况下保留它,那么它只会获得 1 个持有者令牌,并且能够提交 get 请求并适当地获得响应。我怀疑在我的脚本中的其他地方有一个预处理,这样做...
使用beanshell预处理器获取token
sampler.getHeaderManager().add(new Header("Authorization","Bearer " + vars.get("BEARER")));
问题 #2
我有一个 GET 请求来检查请求的状态。 BODY 中的响应返回为 json "{"Status": "RECEIVED", "DllUrl": "", "Message": " "}"
我需要它来继续检查 COMPLETE 的状态……..也可能需要检查是否失败
正在查看正则表达式提取器以获取状态并且仅在找到 COMPLETE 状态时才停止。这样我就可以测量完成时间的开始和结束时间。任何帮助和指导都会有所帮助。
您要添加 header 而不是删除前一个,因此它会在每次迭代时添加另一个 header。
事实上你不需要为此做任何脚本,你可以在HTTP Header Manager:
中定义header关于提取此 Status
值,最好使用 JSON Extractor 配置如下:
完成后,您可以使用以下 __jexl3() function 来“等待”直到操作完成:
${__jexl3("${status}" != "COMPLETE",)}