【问题标题】:Jmeter If controller with http codeJmeter If 控制器带有 http 代码
【发布时间】:2012-07-18 23:23:38
【问题描述】:

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

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

我的问题:

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

附上我的 jmeter 的屏幕截图。

【问题讨论】:

    标签: jmeter


    【解决方案1】:

    尝试使用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
            ...
    

    【讨论】:

    • 但是,如果为了我的测试目的,我需要将多个状态视为“OK”(比如 200 和 302),但如果状态只想发出第二个请求,会发生什么情况是 200(不是 302)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-15
    相关资源
    最近更新 更多