我想在我的jmeter负载测试中使用if controller。测试是:
我的问题:
我有访问令牌,并使用了post-assertion->正则表达式提取器,并从http响应中获取了访问令牌。但是现在我不知道如何使用if控件并且只在http响应代码为200时才要求它进行下一次测试。第二个问题是我仍然可以将访问令牌的正则表达式值传递到if循环的http头管理器中?
附上我的jmeter的屏幕截图。
答案 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
...