为了账号安全,请及时绑定邮箱和手机立即绑定

Jmeter-逻辑控制器介绍2

1:如果(if)控制器

1.1:准备数据

1.1.1:如下图 准备两组http取样器 并且分别添加上Debug取样器


1.1.2:执行后我们发现第一组http取样器执行成功 Debug Sampler1的响应数据中JMeterThread.last_sample_ok=true

第二组http取样器执行失败Debug Sampler2的响应数据中JMeterThread.last_sample_ok=false



1.2:添加【如果(if)控制器】 先禁用 第二个http取样器和其他的Debug Sampler

条件:相当于Java if()中的条件 只要是true就会继续执行 如果条件判断false就不会执行


1.3:查看结果树 我们发现【如何(if)控制器】下的Debug sampler执行了


1.4:禁用第一个http sampler并启用第二个http sampler 执行。查看结果树发现【如果(if)控制器】下的Debug取样器没有执行。


2:While控制器

2.1:Condition参数的几种写法

2.1.1:什么都不写(会一直循环执行 知道执行到有fail跳出循环)


例1:失败的sampler在前面 成功的sampler在后面 这种情况会一直执行死循环


例2:成功的sampler在前面 失败的sampler在后面 执行到fail会跳出循环



2.1.2:Condition写LAST也会执行跟2.1.1一样的结果


2.1.3:Condition的另外几种写法


  • ${VAR} - where VAR is set to false by some other test element

     判断VAR的值什么时候为false的时候跳出循环

如下例子:

A:添加CSV文件如下



B:设置条件 


C:查看结果树


  • ${__javaScript(${C}==10)}

例:

A:运行函数助手 统计运行次数 记录在myValue这个变量中


B:添加条件为运行次数小于3



C:添加HTTP取样器 在这一步将运行次数的值赋值给myValue  下一步可以直接取myValue的值即可


D:查看结果树发现只循环运行3次就退出了



  • ${__javaScript("${VAR2}"=="abcd")}

  • ${_P(property)} - where property is set to "false" somewhere else

原文出处

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消