4

我想在我的 jmeter 负载测试中使用 if 控制器。测试是:

  1. 做一个帖子并取回访问令牌。
  2. 使用该访问令牌获取下一个链接。

我的问题:

我有访问令牌并使用了 post-assertion-> 正则表达式提取器并从他的 http 响应中获取了访问令牌。但是现在我不知道如何使用 if 控件并要求它仅在 http 响应代码为 200 时才进行下一次测试。第二个问题是我仍然可以将访问令牌的正则表达式值传递给 if 循环的 http 标头管理器?

附上我的jmeter的屏幕截图。在此处输入图像描述

4

1 回答 1

5

尝试使用响应断言根据返回的响应代码处理 Request_Access_Token 请求的状态(成功/失败),然后使用 IfController 以及预定义的JMeterThread.last_sample_ok jmeter 的变量 - 无论最后一个样本是否正常 - 真/假。

架构将如下所示:

ThreadGroup
    Request_Access_Token
        Response Assertion
        Response Field to Test: Response Code
        Pattern Matching Rules: Equals
        Patterns to Test: 200
        Regex Extractor          // your Access_Token extractor
    IfController
    Condition: ${JMeterThread.last_sample_ok}   // will be TRUE if Response Assertion above is TRUE (i.e. response code = 200)
        HttpRequest
        // send extracted Access_Token along with request
        ...
于 2012-07-26T12:33:39.020 回答