Logic Controller 逻辑控制的使用(继续中。。。)

来源:互联网 发布:go web编程 中文pdf 编辑:程序博客网 时间:2024/05/18 03:21
Logic Controller逻辑控制是JMeter的一个组件,决定每个sampler样本的执行顺序。他的标志是[JMeter] Logic Controller 逻辑控制的使用(继续中。。。) - wendy - wendy的博客

下图显示的是所有的逻辑控制的类型。
[JMeter] Logic Controller 逻辑控制的使用(继续中。。。) - wendy - wendy的博客

>> ForEach Controller
场景:需要点击某个页面上的6个链接,如果使用Transaction Controller则要有6个samplers,每个sampler的path是不一样的。使用ForEach Controllert的话,只需要一个sampler就可以实现。
首先使用了Regular Expression Extractor来定义了6个名字为url的变量,值为6个链接的地址,如:
[JMeter] Logic Controller 逻辑控制的使用(继续中。。。) - wendy - wendy的博客
六个url变量相当于如下6个:
url_1=/XXX01.jspa
url_2=/yyy02.jspa
url_3=/zzz03.jspa
url_4=/XXX04.jspa
url_5=/yyy05.jspa
url_6=/zzz06.jspa

在这个Controller定义Input variable prefix为url,即在Regular Expression Extractor中定义的变量名字。Output variable name我定义为returnVar。
[JMeter] Logic Controller 逻辑控制的使用(继续中。。。) - wendy - wendy的博客
在这个Controller中的Sampler的path可以使用${returnVar}。Controller会遍历6个url,也就是访问6个链接地址。
[JMeter] Logic Controller 逻辑控制的使用(继续中。。。) - wendy - wendy的博客
 
>> If Controller
场景:如果用户名为wendy,则运行Controller里面的Samplers,否则不运行。
[JMeter] Logic Controller 逻辑控制的使用(继续中。。。) - wendy - wendy的博客
 Name:这个Controller的名字。
Condition(Default Javascript):这个是判断语句,结果为true则运行samplers,否则跳过。默认是Javascript语句。例如:用Regular Expression Extractor得到用户名username,在Condition中写"${username}" == "wendy"。
>> Include Controller
场景:如果我们需要写一个很大的测试,其中登陆部分的测试已经写过了的,但是是在另一个jmx文件里面,而我们不想重新做一遍。
[JMeter] Logic Controller 逻辑控制的使用(继续中。。。) - wendy - wendy的博客
 Filename是你已经写过的你想重用的 jmx文件的地址和名字。

>> Interleave Controller
 场景:
>> Loop Controller
场景:你需要某一个transaction循环多次。
[JMeter] Logic Controller 逻辑控制的使用(继续中。。。) - wendy - wendy的博客
Loop Count填写你想要循环的次数。
 
>> Module Controller
场景:好几个Thread Group都要用到登陆的transaction,每一个都重新录制很麻烦,而且以后要修改就要该好几个。可以使用module controller来实现重用。
[JMeter] Logic Controller 逻辑控制的使用(继续中。。。) - wendy - wendy的博客
1.录制一段登陆的transaction。
2.在你需要使用登陆的thread group中添加module controller。
3.在modele to run的下拉框中选择登陆的transaction。
>> Once Only Controller
 场景:登陆后,要做一些操作,比如添加,修改,删除,但是登陆只需要一次就够了,不需要每次操作都登陆一次。

>> Random Controller
场景:一个页面上有很多链接,模拟用户随机点击页面上的链接。随机点击页面上的一个链接。

>> Random Order Controller
场景:一个页面上有多个链接,模拟用户随机的点击页面上的几个链接。链接都会被点击,但是顺序是随机的。

>> Recording Controller

>> Runtime Controller

>> Simple Controller

>> Switch Controller
场景:模拟用户点击了一个满足某个条件的链接。

>> Throughput Controller

>> Transaction Controller
这个controller的子元素既可以是controller,也可以是sampler。

>> While Controller

[JMeter] Logic Controller 逻辑控制的使用(继续中。。。) - wendy - wendy的博客
当条件满足的时候才会执行的controller,如上图,当flag的值为true时,才会执行这个controller下面的samplers。
 
Reference:
Jmeter Logic Controller - http://jmeter.apache.org/usermanual/component_reference.html#logic_controllers
0 0
原创粉丝点击