微信号:grzlwx

介绍:光荣之路官方资讯

JMeter学习笔记--详解JMeter逻辑控制器

2016-03-01 23:05 光荣之路

吴老的《selenium webdriver 实战宝典》出版了!

JMeter使用逻辑控制器来决定采样器的处理顺序

  • 简单控制器(Simple Controller):存储设备(将某些采样器归组)

  • 循环控制器(Loop Controller:设置循环次数

  • 仅一次控制器(Once Only Controller)

  • 交替控制器(Interleave Controller)

  • 随机控制器(Random Controller)

  • 随机顺序控制器(Random Order Controller): 每个子测试元件都至多执行一次,但是执行顺序是随机的

  • 吞吐量控制器(Throughput Controller):容许用户设定其被执行的频率,这里有两种模式:Percent Execution,该控制器会执行固定比例的循环次数(以测试计划总的循环次数为基准);Total Executions模式,该控制器会在执行数次(设定值)后停止执行。同仅一次控制器,当父循环控制器开始新一轮循环时,控制器的设定值会被重置。另外 参数Per User选中,吞吐量控制器就会以虚拟用户为基础来计算它是否该执行,如果没选,就是基于所有用户来计算的。例如:Total Execution模式下,不勾选"per user”,设定值就是吞吐量控制器的总执行数,勾选,则是虚拟用户数乘以Troughput设定值。

  • 运行时长控制器(Runtime Controller):设定运行时长

  • 如果控制器(If Controller):控制其下子测试元件是否执行,容许将脚本作为变量表达式处理(默认是JavaScript),判断条件可以使用函数和变量,例 如,${__jexl(${VAR}==23)}或者${COUNT} < 10或者${JMeterThread.last_sample_ok}检查最后一个采样是否成功, 如果选中“Interpret Condition as Variable Expression", 那么对应的表达式将会被计算,并与”true"比较,而不需使用JavaScript.注意:如果判断条件以JavaScript方式解释执行,那么脚本 就无法访问任何变量。如果要访问变量,需勾选,并使用__javaScript()函数调用。如果在解释执行代码时发生错误,那么条件就被认定为 false,并在jmeter.log记录一条消息

  • While Controller: conditon可能值

    • ${VAR} --当VAR被其他测试元件设置为false

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

    • ${_P(property)}--当属性在其他地方被设置为"false"

    • Blank:当循环中有采样失败了后退出循环

    • LAST:当循环中有采样失败了后退出循环,如果循环前最近的采样失败了,布进入循环

    • Otherwise:当条件等同于字符串”false"时,退出(或者不进入)循环,举个例子:

  • Switch Controller:switch value,选择执行的子测试元件对应数字(或名称)。子测试元件从0开始编号

  • ForEach控制器(ForEach Controller):循环遍历一系列相关变量,ForEach控制器非常适合于前置处理器正则表达式一起使用,前置处理器正则表达式可以从一个请求的 结果数据中提取需要的输入变量。通过省略“_"分隔符,ForEach 控制器使用输入变量refName_g可以循环遍历所有组合。使用refName_${C}_g格式的输入变量还可以循环遍历所有匹配的所有组合,其中C 是一个计数器变量。

  • 模块控制器(Module Controller):提供了一个机制,即在当前测试计划中动态地替换测试计划判断。不应该在远程测试或者非GUI模式下雨工作件一起使用。

  • Include Controller:使用外部JMX文件,将采样器添加到简单控制器之下,接着将简单控制器保存为JMX文件。该文件接下来被用到测试计划中。被包含的 测试计划中不能含有线程组。它只能是简单控制器及其子元器件等。(Cookie Manager/User Defined Variables不应该在被包含文件中) ,该控制器在Filename域中不支持变量、函数,但是,如果定义了属性includecontroller.prefix,其内容将作为路径名前缀。

  • 事务控制器(Transaction Controller) : 会产生一个额外的采样,用于衡量执行嵌套测试所耗费的全部时间(包含了控制器范围内的所有处理,不仅是采样),有两种操作模式 1)附加采样在嵌套采样之后添加 ;2)附加采样作为嵌套采样的父采样来添加

  • 录制控制器

(作者:清明-心若淡定 来源:http://www.cnblogs.com/saryli/p/4177185.html)

公益传播测试知识、技能与正能量!感谢作者!
分享测试生活,思考测试人生!欢迎投稿!
文章图片来自网络,如有侵权请见谅,请联系我们妥善处理。
735821166@qq.com


光荣之路
软件测试培训


官网:www.gloryroad.cn

微信公众号:gloryroadtrain

性能测试QQ群:415987441
测试招聘QQ群: 203715128
自动化3群QQ: 371211499

Python群:457561756


 
光荣之路 更多文章 今天晚上的 linux 公开课- Awk 编程 7月28日(今天)晚上的 linux 公开课- shell编程 8月4日(今天)晚上的 linux 公开课- shell编程 9月1日(本周一)晚8点半,光荣之路Web自动化系列基础课—javascript第二讲 推荐本好书《与机器赛跑》
猜您喜欢 测试空间祝您中秋节合家欢乐! App定位和地图的那些坑 值得关注的技术类微信公众号汇总 广州传智2014年春季校园招聘会再次拉开序幕 移动互联网创业还需要做APP吗?(上)