一、if控制器
1、应用场景1
(1)interpret condition as variable expression:勾选上需要用jexl函数或groovy函数,不勾选则可以直接写表达式,注(表达式中的数据类型是字符串)
(2)Evaluate for all children:如果不勾选,则只要判断成功,if里面的请求都可以执行,如果勾选,则每一个请求在执行之前,都要判断一次if语句
例:配置原件中,新建用户自定义变量:
新建自定位变量
不勾选
勾选
2、应用场景2:上个请求成功后,再发送下一个请求:${JMeterThread.last_sample_ok} == true
注:这里说的成功,是请求的成功,只要状态码返回正确,则算通过
例如:登录操作,用户名和密码错误,业务上没有登录成功,但jmeter仍然会往下执行查询,因为在http本身的请求上成功了,只不过业务层面没有成功,因此其实是不符合我们的预期的
登录业务并没有成功
那我们应该如何实现呢:
在上一个请求中,加入响应断言:
断言失败,后面的查询不会被执行