JMeter-While控制器

  • 2019 年 12 月 12 日
  • 筆記

Jmeter-While控制器

背景:

用作循环的控制器里, 最常用的就’循环控制器’和’While控制器’. 循环控制器仅能定义循环次数(永远和自定义次数). 缺乏判断能力.While控制器正好弥补了这方面的不足, 既能循环又能逻辑判断, 让我们进入实例吧.

While控制器

Condition参数写法

首先我们来添加While控制器, 可以看到仅有一个Condition条件

1.当Condition什么都不写会发生什么?

让我们来试下,首先在While控制器里添加一个http Sampler,命名为http_csdn, 并添加对应的API.

让我们来运行下

这个Sampler 会一直执行下去, 就是一个死循环.

那怎么能够利用While的判断来控制呢? 继续往下看.

2. Condition添加BooleanValue

我们在coding的时候用while语句,当条件为True就执行循环体内的语句, 当条件为false, 就跳出并结束循环. 知道了这个原理就可以用CSV来实现了,在本地文件目录/Users/louiezhou/home/jmeterSpace/true.csv 添加文件

同时在while控制器里添加CSV Data Set Config

在While控制器里添加条件,使用CSV里的变量

当BooleanValue的值为False, 就停止循环.

3.Condition使用函数

调出函数助手, 添加变量myValue

设置while条件, 运行次数小于5

同时在http_Sampler 赋值运行次数

运行下,来看下结果树

从Debug Sample中可以清晰的确定myValue值等于5,与我们设置的value相符.

还有一种循环控制器叫ForEach,在我们之前的实例中已经分享过了, 不清楚的朋友请翻看以前推文.

总结:

每一种循环控制器都有优缺点, 只有在合适的时候使用合适的控制器才能发挥最佳效果. 同时, 循环控制器仅对该部分请求起作用,线程组的迭代次数对其不受影响。