【问题标题】:jmeter to issue http request based on responsejmeter根据响应发出http请求
【发布时间】:2015-12-18 18:23:53
【问题描述】:

我使用 Jmeter 进行 API 测试,使用各种 http 请求和各种采样器来验证它们。现在,我正在为另一个 http 请求编写测试。本次测试步骤如下:

  1. 发出一个 http 请求。处理响应。
  2. 使用 xpath xtractor,我正在提取响应并将 URL 存储在另一个变量 (store_url) 中。
  3. 如果变量有 URL,请重复步骤 1。 必须重复此循环,直到 (store_URL) 中没有存储任何值。

没有确定的数字,循环必须重复多少次。它基于 store_url 是否为空。 我怎样才能在jmeter中实现这一点?我知道第一步和第二步。但我正在寻找如何重复步骤 1 和步骤 2。请帮我。

【问题讨论】:

    标签: json jmeter jmeter-plugins


    【解决方案1】:

    将 jmeter 变量 loopCount 设置为 1 作为初始值,
    将您的第 1 步和第 2 步移到循环控制器中,
    将循环计数设置为 ${loopCount}

    在您的第 2 步中,
    如果在完成 xpath xtractor 后找到 store_url,则增加 loopCount

    【讨论】:

    • 在检查任何回复之前,我得到了解决方案。不管怎样,谢谢你的回复。
    【解决方案2】:
    1. 将您的第 1 点和第 2 点放在While Controller
    2. 使用 ${__javaScript(vars.get("store_URL") != null)} 作为 While 控制器的条件

    在条件__javaScript() 函数用于检查store_URL 变量值。

    • 如果设置了store_URL 变量(具有任何值)- While 控制器下的所有内容都将重新开始
    • 如果 store_URL 变量变为 null - 外观将中断
    • vars - 是 JMeterVariables 类实例的简写,它提供对所有 JMeter 变量的读/写访问权限

    有关 __javaScript 和其他有用函数的更多详细信息,请参阅Using JMeter Functions 文章

    【讨论】: