Jmeter-如何发出请求等到我得到特定的响应

Jmeter- How to make a request wait until I get a specific response

请求如下:

  1. request_a 已发送,我收到 "in progress"
  2. 的回复
  3. 再次发送 request_a,我收到 "in progress"
  4. 的响应
  5. 再次发送 request_a,我收到 "complete data"
  6. 的回复

我的目标服务器响应 "in progress" 时发生的事情是服务器正在花时间在服务器中缓存数据。这里,第三个请求返回了完整的数据。

我需要的是:所有 3 个请求都应该等到它获得完整的数据。这样我就可以检查 request_a 连接到数据库的实际负载 - 获取数据并给出响应

注意:我正在通过从服务器手动清除缓存进行检查。

  1. 把你的要求放在While Controller. Use the following __jexl3() function下作为条件:

    ${__jexl3("${response}" != "complete data",)}
    
  2. 使用合适的 Post-处理器将响应提取到适合的 JMeter Variable. For example the following Regular Expression Extractor 设置中:

  3. 就是这样,虽然Controller会循环直到${response}变量不会变成complete data