Jmeter 逻辑控制器 之 交替控制器】的更多相关文章

马上国庆节了,没有安排新版本的上线任务,所以最近自学时间比较充裕,决定把Jmeter好好学习学习,并把学习过程分享到博客中,今天呢,学习交替控制器. 一.认识交替控制器 如下,在线程组下面创建一个交替控制器: 设置界面如下: 忽略资(子)控制器块:如果勾选,则将子控制器作为一个请求,只执行一次.如果不勾选,则子控制器中样例都执行. Interleave across threads:(这个选项 我理解的还不够透彻,后期慢慢补充) 二.简单使用交替控制器 首先在交替控制器下添加3个样例,线程组下添…
交替控制器<Interleave Controller> 业务逻辑: 根据被控制器触发执行次数,去依次执行控制器下的子节点<逻辑控制器.采样器>. 被触发执行可以由线程组的线程数.循环次数.逻辑控制器触发. Ignore sub-controller blocks:忽略子控制器 勾选后,会无视节点下的所有控制器<交替控制器.随机控制器例外>,将每个取样器作为一个单独字节点执行 不勾选忽略子控制器,交替执行时,节点下次一级每个取样器.逻辑控制器都认为是一个单独子节点来交替…
随机控制器<Random Controller> 业务逻辑: 当每次执行到该逻辑控制器时,随机挑选控制器下的任意一个子节点<取样器.逻辑控制器> Ignore sub-controller blocks:忽略子控制器 勾选后,会无视节点下的所有控制器<交替控制器.随机控制器例外>,将每个取样器作为一个单独字节点执行. 不勾选忽略子控制器,交替执行时,节点下次一级每个取样器.逻辑控制器都认为是一个单独子节点来交替执行. 演示脚本: Demo_随机控制器 随机控制器与随机顺…
随机顺序控制器<Random Order Controller> 业务逻辑: 当控制器被触发时,将控制器下的所有子节点顺序打乱执行一遍,执行一遍,执行一遍,不是执行一个. 注意:是将子节点的顺序打乱,而非请求的顺序打乱,子节点可以是其他逻辑控制器. 演示脚本: Demo_随机顺序处理器 随机控制器与随机顺序控制器名字十分接近,但两者还是有着明显的区别,可参考  JMeter逻辑控制器_随机控制器 随机控制器为每次只执行节点下的一个子节点,随机顺序控制器是将节点下的所有子节点都正常执行,只是将执…
模块控制器<Module Controller> 业务逻辑: 可以理解为引用.调用的意思,执行内容为Module To Run种所选的内容,引用范围为当前测试计划内的测试片段.逻辑控制器<模块控制器除外.模块控制器除外.模块控制器除外> 被引用的逻辑控制器.测试片段可以为禁用状态,被引用后仍然会被执行. 可以将模块控制器与包括控制器一起学习比较,模块控制器是从内部文件中引用,引用上相对比较灵活,可以只引用部分测试片段或模块内容,包括控制器是从外部文件引用,只能引用整个测试片段的内容…
包括控制器<Include Controller> 业务逻辑: 通过Filename的路径和文件名引用外部的jmx文件,然后对齐执行,若外部文件中没有可执行范围内的脚本内容,则跳过该逻辑控制器.被引用文件只会执行Test Fragment测试片段中的内容,线程组的内容不会被执行. 可以将包括控制器与模块控制器一起学习比较,包括控制器是从外部文件引用,只能引用整个测试片段的内容,模块控制器是从内部文件中引用,引用上相对比较灵活,可以只引用部分测试片段或模块内容. 模块控制器介绍:逻辑控制器__模…
Jmeter官网其实有很详细的文档,点此跳转到官网,下面我来解读一下官网的文档,如有错误,欢迎指出. 一.官网解读 Name 在结果树中显示的名字. Comments 备注.相当于代码中的注释. Expression(must evaluate to true or false) 条件.默认使用JavaScript语言返回true或false. Interpret Condition as Variable Expression? 默认选中.若不选中,会影响性能. Evaluate for al…
今天和大家分享下循环控制器的使用. 一.认识循环控制器 如下图:新增一个循环控制器 循环控制器的设置界面: 循环次数:永远和自定义次数,这个应该比较好理解. 二.使用循环控制器 其实大家对Jmeter的熟悉的话,应该会想到,线程组 这个设置界面也是有一个循环次数的设置,那么到底他们两个有什么关联呢.我理解为父子关系. 下面举个例子, 首先在线程组中设置循环次数3,循环控制器中设置循环测试2,其他默认,添加一个计时器,方便查看结果,如下: 执行后,查看结果树: 理解为:一秒发送一个请求,循环三次,…
前面我在做性能测试的时候,由于我们的系统是需要登录的,登录成功后,系统默认加载其订单数据,因此在用户看来这是一个操作.所以为了模拟这个操作,我需要访问两个接口,并且把这两个接口的响应时间算在一起,那么就用到了事务控制器,举个列子给大家分享下我的理解,希望大家相互学习,多多指点. 一.认识事务控制器 如下,新建一个事务控制器 控制器的设置面板: Generate parent sample:生成父样例,事务控制器下所有样例的结果集合,其下所有样例都正确,事务控制才正确,反正,其下一个不正确,则不正…
吞吐量控制器 听起来好像比较难理解或者比较高深,其实它非常简单,今天我仔细看了下帮助,分享下对它的理解. 一.认识吞吐量控制器 作用:控制其下子样例执行的频次,有两种控制模式,一种是直接设置数值,一种是设置百分比.看看它的创建和设置界面:  二.不针对每个用户进行控制 线程组中设置 线程数量 2,循环次数 10,吞吐量控制器 设置 Total Executions,吞吐量设置为 2,其下添加一个样例,执行结果如下: 现在将 吞吐量控制器 设置为百分比的控制方式,吞吐量设置为:50%,执行结果:…
一.认识 ForEach 控制器 如下,创建一个 ForEach 控制器 设置界面如下: 输入变量前缀:要进行循环读取的变量前缀 Start index for loop (exclusive):循环开始,注意这里数值从0开始,也就是说,要比输入变量后缀的数字小一个数.输入变量 index_1, 那么这里应该填0,才能循环到 index_1 End index for loop (inclusive):循环结束,注意如果设置的数值大于输入变量的数量,则循环只执行输入变量数量的次数. 输出变量名称…
录制控制器<Recording Controller> 个人感觉录制的脚本缺陷太明显,没有研究过,暂不做介绍,等后续空了研究后再写…
事务控制器<Transaction Controller> 业务逻辑: 这个控制器在在业务控制上并没有什么特殊逻辑,可以理解为在简单控制器的基础上添加了统计的功能,当所有子节点全部成功则成功,由任意一个失败结果就为失败. 事务控制器不会对其子节点的执行逻辑产生影响,其效果为在监听器生成统计的时,以一个单独的统计点来统计,可各项指标为控制器子节点的指标之和. 当事务控制器下的任意一子节点执行失败,事务控制器的执行结果就会被以失败统计. Generate parent sample<生成父样…
简单控制器<Simple Controller> 业务逻辑: 就像他的名字一样,简单,可以理解为一个文件夹,就是分组用的,没有其他特殊功能,但相比不添加简单控制器,区别在于简单控制器可以被模块控制器所引用. 演示脚本: Demo_简单控制器…
吞吐量控制器<Throughput Controller> 业务逻辑: 他的实际作用似乎跟吞吐量扯不上什么关系.就是单纯的控制控制器下的子节点被执行的次数或被执行比列,该控制器默认为多线程使用共通的.吞吐量的值可以以变量表示. Total Executions: 按总执行数控制,即当选中该项时,吞吐量中填写的值就是控制器期望的被执行的最大次数. 当吞吐量小于等于0时,控制器及其子节点不会被执行. 当吞吐量为空.字符串时,控制器及其子节点会被执行一次. 当吞吐量为小数时,控制器会以向下取整的方式…
执行时间控制器<Runtime Controller> 业务逻辑: 根据输入的Runtime的值,对当前节点下的执行时长进行控制,当执行时长超过限定时长后,执行完当前正在执行的取样器后,跳出控制器,继续向下执行. Runtime值为0及正整数(可使用变量代替)时,按照限定时长控制执行时长. Runtime值为负数.小数及字符串时,都会直接跳过当前控制器,继续向下运行. Runtime值为空时,时长会自动被填充为0. Runtime值的单位为秒,不是毫秒!!!不是毫秒!!!不是毫秒!!! 比如限…
循环控制器<Loop Controller> 业务逻辑: 根据所填写的循环次数,对当前节点下的取样器进行响应次数的循环请求,这里可以填写变量.整数.小数.字母.负数.各种符号等: 当填写整数时,会根据所填数量循环执行节点下的取样器. 当填写小数.字母.各种符号时,会跳过当前节点. 当填写负数时,会自动被修正成勾选永远,一直循环,直至点击停止. 当勾选永远时,会一直循环执行,直至点击停止. 当填写变量时,变量值依照上方几种情况的逻辑执行. 演示脚本: Demo_循环控制器…
JMeter在线程组设置循环3次,执行后只执行了一次就停止执行了 排查原因:线程组下添加了一些请求信息(HTTP Cache Manager.HTTP Cookie Manager.HTTP Request Defaults),导致执行一次后,不在执行 解决方案:删除缓存请求信息(HTTP Cache Manager),再次执行即可…
交替控制器: 案例:两个请求每次只能执行其中一个,可使用交替控制器. 1.线程组->添加->逻辑控制器->交替控制器 2.在控制下添加两个http请求.运行的时候第一次循环执行第一个,第二次循环执行第二个,第三次执行第一个...…
交替控制器:根据被控制器触发执行次数,去依次执行控制器下的子节点(逻辑控制器.采样器),可以由线程组的线程数.循环次数.逻辑控制器触发. 交替控制器(lnterleave Controller) 简单使用: 线程组设置循环次数 在线程组下添加交替控制器(Add-Logic Controller-lnterleave Controller),交替控制器下添加HTTP请求,在添加一个HTTP请求与交替控制器并行 启动后,根据顺序自上而下交替执行请求 交替控制器间嵌套: 设置线程组循环次数 创建一个父…
我们在做接口自动化的时候,常常因为无法灵活的的校验接口字段而烦恼.不能自动校验接口字段的脚本,也就不能称之为接口自动化.因此,我设计了一套组合式的控制器,可以完美的解决这个问题 1:首先我们需要在本地建一个异常字段校验的字符集 比如我这里写了五个校验,分别是最大值,最小值,中文,为空,特殊字符 测试交流群:317765580 2:在线程组下创建一个循环控制器,循环次数设置为三次.循环控制器下建一个交替控制器.交替控制器的作用是交替执行控制器下的元件.交替控制器下属建立三个事务控制器. 最外层的循…
模块控制器(Module Controller) 作用 可以理解为引用.调用执行的意思,调用范围为testplan树下任意的逻辑控制器,模块控制器除外 点开testplan树,需要引用哪个逻辑控制器选中即可,只能调用逻辑控制器 所有执行内容为模块控制器Module To Run中刚刚所选的逻辑控制器内的内容 模块控制器Module To Run种所选的内容只能单选,如果模块控制器需要调用多个其他的逻辑控制器,多建几个模块控制器 被引用的逻辑控制器.测试片段可以为禁用状态,被引用后仍然会被执行 被…
简单的控制器 简单的逻辑控制器可以让你组织你的采样器和其他 逻辑控制器. 不像其他逻辑控制器,该控制器不提供除此之外的功能 存储设备. 控制面板简单的控制器的截图 参数  在这个例子中,我们创建了一个测试计划,发送两个蚂蚁和两个HTTP请求 Log4J HTTP请求. 我们分组蚂蚁和Log4J请求安置在里面 简单的逻辑控制器. 记住,简单的逻辑控制器如何JMeter没有影响 流程控制器(s)添加到它. 所以,在这个例子中,JMeter发送的请求 以下订单:Ant主页,Ant新闻页面,Log4J主…
本文主要总结Jmeter的逻辑控制器: 逻辑控制器下一共16个控制器: 1.foreach controller循环控制器 定义变量数组,按数组遍历循环   2.simple controller 简单控制器 不改变元件的执行顺序,指定了一个执行单元:   3.include controller 导入外部的测试片段,不能有线程组,只能包含简单控制器及控制器下的元件:   4.runtime controller 控制其子元件的执行时长: runtime默认为1,去掉1则默认为0,此时不执行其节…
参考<全栈性能测试修炼宝典JMeter实战>第六章 JMeter 元件详解中第一节JMeter逻辑控制器 JMeter逻辑控制器可以对元件的执行逻辑进行控制,除仅一次控制器外,其他可以嵌套别的种类的逻辑控制器 一.ForEach控制器 定义一个循环规则,关键参数说明: 输入变量前缀:可以在“用户自定义的变量”中定义一组变量,控制器可以从中获取到变量对应的值,然后作为循环控制器的循环条件,还可以输出变量作为取样器的参数 Start index for loop:循环变量下标起点 End inde…
Jmeter之逻辑控制器(Logic Controller) 前言: 1. Jmeter官网对逻辑控制器的解释是:“Logic Controllers determine the order in which Samplers are processed.”.意思是说,逻辑控制器可以控制采样器(samplers)的执行顺序.由此可知,控制器需要和采样器一起使用,否则控制器就没有什么意义了.放在控制器下面的所有的采样器都会当做一个整体,执行时也会一起被执行. 2.JMeter中的Logic Con…
JMeter使用逻辑控制器来决定采样器的处理顺序 简单控制器(Simple Controller):存储设备(将某些采样器归组) 循环控制器(Loop Controller:设置循环次数 仅一次控制器(Once Only Controller) 交替控制器(Interleave Controller) 随机控制器(Random Controller) 随机顺序控制器(Random Order Controller): 每个子测试元件都至多执行一次,但是执行顺序是随机的 吞吐量控制器(Throug…
刚开始学习,只写几种了解的逻辑控制器 1.简单控制器 只用来组合采样器和其他逻辑控制器,不影响jmeter的运行 2.循环控制器 用来循环执行采样器和其他逻辑控制器,例如一个用户发送特定请求多次,即可使用循环控制器 3.仅一次控制器 该控制器会使jmeter只执行其下的控制器一次,接下来的测试计划中循环会跳过该控制器的所有请求 4.交替控制器 交替控制器控制每一次循环时轮流按顺序执行其下的测试元件(如果有两个,第一次执行1,第二次就执行2,第三次再执行1,直到循环结束),每一个父循环内,交替控制…
jmeter中的逻辑控制器确定采样器的执行顺序.右键线程组-->添加-->逻辑控制器. 一.简单控制器 简单控制器对JMeter如何处理添加到其中的采样器没有影响.只是方便我们做分组命名. 示例: 在以下计划中,向第一个简单控制器添加两个请求:"加载商品搜索页面"和“搜索商品A”,并将控制器命名“挑选商品”:向第二个简单控制器添加另两个请求:"加入购物车"和“支付”,并将控制器命名“支付操作”.运行结果可以看到,简单控制器不会对添加到其中的采样器产生影响…
1.简介 Jmeter官网对逻辑控制器的解释是:“Logic Controllers determine the order in which Samplers are processed.”. 意思是说,逻辑控制器可以控制采样器(samplers)的执行顺序.由此可知,控制器需要和采样器一起使用,否则控制器就没有什么意义了.放在控制器下面的所有的采样器都会当做一个整体,执行时也会一起被执行. JMeter逻辑控制器可以对元件的执行逻辑进行控制,除仅一次控制器外,其他可以嵌套别的种类的逻辑控制器…