文档章节

Jmeter简单应用9

D
 Dreamsnow6
发布于 2017/03/10 17:33
字数 1251
阅读 7
收藏 1

1、 Jmeter官网对逻辑控制器的解释是:“Logic Controllers determine the order in which Samplers are processed.”。意思是说,逻辑控制器可以控制采样器(samplers)的执行顺序。由此可知,控制器需要和采样器一起使用,否则控制器就没有什么意义了。放在控制器下面的所有的采样器都会当做一个整体,执行时也会一起被执行。

2、JMeter中的Logic Controller分为两类:

  a) 控制测试计划执行过程中节点的逻辑执行顺序,如:Loop Controller、If Controller等;

  b) 对测试计划中的脚本进行分组、方便JMeter统计执行结果以及进行脚本的运行时控制等,如:Throughput Controller、Transaction Controller。

3、Jmeter提供如下这么多的控制器:

一、简单控制器(Simple Controller):

  作用:这是Jmeter里最简单的一个控制器,它可以让我们组织我们的采样器和其它的逻辑控制器(分组功能),提供一个块的结构和控制,并不具有任何的逻辑控制或运行时的功能。 

二、循环控制器(Loop Controller):

  作用:指定其子节点运行的次数,可以使用具体的数值(如下图,设置为5次),也可以使用变量

  1、Forever选项:勾选上这一项表示一直循环下去

  2、如果同时设置了线程组的循环次数和循环控制器的循环次数,那循环控制器的子节点运行的次数为两个数值相乘的结果。

三、仅一次控制器(Once Only Controller):

  作用:在测试计划执行期间,该控制器下的子结点对每个线程只执行一次,登录场景经常会使用到这个控制器。

  注意:将Once Only Controller作为Loop Controller的子节点,Once Only Controller在每次循环的第一次迭代时均会被执行。 

四、ForEach控制器(ForEach Controller):

   作用:ForEach控制器一般和用户自定义变量一起使用,其在用户自定义变量中读取一系列相关的变量。该控制器下的采样器或控制器都会被执行一次或多次,每次读取不同的变量值。如下图:

参数:

  • Input Variable Prefix:输入变量前缀
  • Output variable name:输出变量名称
  • Start index for loop(exclusive):循环开始的索引(这里如果不填写,默认从1开始,如果没有1开始的变量,执行时会报错)
  • End index for loop(inclusive):循环结束的索引
  • Add”_”before number:输入变量名称中是否使用“_”进行间隔。

用户自定义变量:

  变量名前缀为ForEach Controller中Input variable prefix定义的name + 下划线(上图中我们勾选了下划线)+数字编号

执行结果:

  总共执行了3次,每次执行时会把获取到的变量值赋值给输出变量outNmae,其它地方可以通过${outNmae}进行调用。

五、事务控制器(Transaction Controller):

  作用: 事务控制器会生产一个额外的采样器,用来统计该控制器子结点的所有时间。

六、If 控制器(If Controller):

   作用:根据给定表达式的值决定是否执行该节点下的子节点,默认使用javascript的语法进行判断(如下图红框内的文字)。

参数:

  • Interpret Condition as Variable Expression?:选中这一项时表示:判断变量值是否等于字符串true(不区分大小写)
  • Evaluate for all children:如果选中这一项,在每个子结点执行前都会计算表达式 

示例一:使用变量的方式进行判断:

示例二:选中Interpret Condition as Variable Expression?

七、Switch控制器(Switch Controller):

  作用:Switch控制器通过给该控制器中的Value赋值,来指定运行哪个采样器。有两种赋值方式:

  • 第一种是数值,Switch控制器下的子节点从0开始计数,通过指定子节点所在的数值来确定执行哪个元素。
  • 第二种是直接指定子元素的名称,比如采样器的Name来进行匹配。当指定的名称不存在时,不执行任何元素。

当Value为空时,默认执行第1个子节点元素。 

示例:

1、Switch Controller选择的值为login page

2、执行结果:

八、吞吐量控制器(Throughput Controller):

   作用:控制其下的子节点的执行次数与负载比例分配,也有两种方式:

  • Total Executions:设置运行次数
  • Percent Executions:设置运行比例(1~100之间)

示例:

1、设置线程组循环5次:

2、Throughput Controller1的子结点执行3次:

3、Throughput Controller2的子结点执行(40% * 线程组循环次数5)= 2次:

执行结果:

九、随机控制器(Random Controller):

   作用:随机执行其下的所某个子结点

十、随机顺序控制器(Random Order Controller):

   作用:随机执行其下的所有子结点

本文转载自:http://www.cnblogs.com/puresoul/p/4886574.html

D
粉丝 3
博文 13
码字总数 6760
作品 0
杭州
QA/测试工程师
私信 提问
jmeter+ant+jenkins

1,下载jenkins 2,修改jenkins.xml配置文件的端口,防止端口冲突(默认8080) 3,重启Jenkins服务器 4,下载ant 5,配置ant环境变量 6,录制jmeter脚本(脚本的录制可以使用badboy) 7,复制...

gool_hard
2018/06/26
0
0
JMeter和LoadRunner的异同

Notes:最近几天一直在搞测试软件,相继搞了LoadRunner和JMeter,现在和大家分享一下JMeter和LoadRunner的异同 Jmeter和LoadRunner的异同   1、Jmeter的架构跟LoadRunner原理一样,都是通过...

JavaOlder
2013/03/14
0
0
VisualVM使用之二:visualVM的使用

在使用visualVM之前,你要先了解压力测试工具的安装和简单使用。这里我选择工具Jmeter。 Jmeter的安装 去官网下载Jmeter:[http://jmeter.apache.org/download_jmeter.cgi][1],解压到一个适合...

北_木
2014/03/28
0
0
JMeter学习-003-JMeter与LoadRunner的异曲同工

本节主要对 JMeter 与 LoadRunner 的优缺点进行概要的总结,若有不足之处,敬请指正,不胜感激! 同时,我也不得不承认,在对 JMeter 和 LoadRunner 进行比较时,我个人的确偏向了 JMeter(免...

拎壶冲冲冲
2018/06/26
0
0
Apache JMeter 比惠普的 Load Runner 更好的原因

几个月前,我和其中一个朋友讨论了关于性能测试以及他所在组织的压力测试项目的未来及当前部署系统的性能问题。 在此期间他和我分享了在2012年中把HP Center 9.52(Load Runner商业班恩)升级...

oschina
2013/04/25
6.8K
0

没有更多内容

加载失败,请刷新页面

加载更多

Redox OS 发布 0.5 版

Redox OS 是一个几乎完全以 Rust 语言编写的通用操作系统及周围生态(例如文件系统、显示服务器及 Rust 版本的 libc)。其遵循微内核架构,在一定程度上兼容于 POSIX。 该项目于日前发布了 ...

linuxCool
33分钟前
0
0
更新上传git/gitee项目时出现密码配置错误(incorrect username or password)的解决办法

1.输入【git remote add origin git地址】 命令时出现incorrect username or password的错误,这是因为之前弹出输入账户和密码时输错了,而且会一直默认错误的账户和密码,因此需要把之前输入...

west_coast
40分钟前
0
0
Jenkins基础入门-1-Jenkins简单介绍和环境安装

如果在做自动化测试的朋友,应该熟悉Jenkins,或者至少使用过。如果一个人没有使用过Jenkins或者hudson,hudson是Jenkins的前身,他还说自己做过自动化测试,只能说,他只不过是在做半自动化...

shzwork
40分钟前
0
0
linux上解压版安装jdk,tomcat

需要的安装包 1.vmware12 2.centos7版本 3.安装完成后需要xshell来连接远程虚拟机,虚拟机保证要联网,网络畅通。 4.xftp用来向linux传输文件用,一般来说xshell和xftp配套使用 5.对应的压缩...

architect刘源源
今天
26
0
使用 spring 的 IOC 解决程序耦合

工厂模式解耦 在实际开发中我们可以把三层的对象都使用配置文件配置起来,当启动服务器应用加载的时候,让一个类中的方法通过读取配置文件,把这些对象创建出来并存起来。在接下来的使用的时...

骚年锦时
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部