【问题标题】:Extracting response and using While Controller to wait for response in Jmeter提取响应并使用While Controller等待Jmeter中的响应
【发布时间】:2021-01-29 12:58:39
【问题描述】:

所有,我需要额外的帮助。我曾尝试研究并使用以下资源指南。 https://www.blazemeter.com/blog/using-while-controller-jmeter

问题

我需要实现一种方法来等待来自服务器的特定响应,并记录从请求开始到我在 Jmeter 中收到 Complete 响应的结束所花费的时间。我一直在关注控制器并研究它。

问题#1 如果我添加一个 while 控制器,我的请求会失败,因为它添加了多个令牌。如果我在没有 while 控制器的情况下离开它,那么它只会获得 1 个不记名令牌,并且它能够提交获取请求并适当地获得响应。我怀疑在我的脚本中的其他地方有一个预处理,这样做......

使用 beanshell 预处理器获取令牌

sampler.getHeaderManager().add(new Header("Authorization","Bearer " + vars.get("BEARER")));

问题 #2

我有一个 GET 请求来检查请求的状态。 BODY 中的响应作为这个 json 返回 "{"Status": "RECEIVED", "DllUrl": "", "Message": ""}"

我需要它继续检查 COMPLETE 的状态……..也可能需要检查失败

正在查看正则表达式提取器以获取状态,并且仅在找到 COMPLETE 状态之前停止。这样我就可以测量完成时间的开始和结束时间。任何帮助和指导都会有所帮助。

【问题讨论】:

    标签: jmeter jmeter-5.0


    【解决方案1】:

    您正在添加一个标头而不是删除前一个标头,因此它会在每次迭代时添加另一个标头。

    其实你不需要为此编写任何脚本,你只需在HTTP Header Manager中定义标题即可:

    关于提取这个Status 值,最好使用JSON Extractor 配置如下:

    完成后,您可以使用以下__jexl3() function“等待”直到操作完成:

    ${__jexl3("${status}" != "COMPLETE",)}
    

    【讨论】:

    • 非常感谢 Dmitri,希望有一个 stackoverflow 允许为回答问题的开发人员做出贡献的页面......我肯定会奖励你的贡献。这行得通....但是,我需要弄清楚如何设置时间范围来等待该响应....并在设定的时间后退出...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多