Jmeter如果控制器带有http代码

时间:2012-07-18 23:23:39

标签: jmeter

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

  1. 发帖并取回访问令牌。
  2. 使用该访问令牌获取下一个链接。
  3. 我的问题:

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

    附上我的jmeter的屏幕截图。enter image description here

1 个答案:

答案 0 :(得分:4)

尝试使用Response Assertion来处理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
        ...