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

    xiaoxiao2026-06-09  1

    Logic Controller逻辑控制是JMeter的一个组件,决定每个sampler样本的执行顺序。他的标志是 。 下图显示的是所有的逻辑控制的类型。 >> ForEach Controller 场景:需要点击某个页面上的6个链接,如果使用Transaction Controller则要有6个samplers,每个sampler的path是不一样的。使用ForEach Controllert的话,只需要一个sampler就可以实现。 首先使用了Regular Expression Extractor 来定义了6个名字为url的变量,值为6个链接的地址,如: 六个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。 在这个Controller中的Sampler的path可以使用${returnVar}。Controller会遍历6个url,也就是访问6个链接地址。   >> If Controller 场景:如果用户名为wendy,则运行Controller里面的Samplers,否则不运行。  Name:这个Controller的名字。 Condition(Default Javascript):这个是判断语句,结果为true则运行samplers,否则跳过。默认是Javascript语句。例如:用Regular Expression Extractor得到用户名username,在Condition中写"${username}" == "wendy"。 >> Include Controller 场景:如果我们需要写一个很大的测试,其中登陆部分的测试已经写过了的,但是是在另一个jmx文件里面,而我们不想重新做一遍。  Filename是你已经写过的你想重用的 jmx文件的地址和名字。 >> Interleave Controller  场景: >> Loop Controller 场景:你需要某一个transaction循环多次。 Loop Count填写你想要循环的次数。   >> Module Controller 场景:好几个Thread Group都要用到登陆的transaction,每一个都重新录制很麻烦,而且以后要修改就要该好几个。可以使用module controller来实现重用。 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 当条件满足的时候才会执行的controller,如上图,当flag的值为true时,才会执行这个controller下面的samplers。   Reference: Jmeter Logic Controller - http://jmeter.apache.org/usermanual/component_reference.html#logic_controllers
    转载请注明原文地址: https://ju.6miu.com/read-1310356.html
    最新回复(0)