JMeter中的控制器:循环、简单、事务、模块、随机

什么是逻辑控制器?

逻辑控制器允许定义线程中处理求的顺序。例如,可以使用随机控制器将HTTP求随机发送到服务器

逻辑控制器确定执行用户求的顺序。

一些常用的逻辑控制器如下:

How to use Controllers in JMeter
How to use Controllers in JMeter

录音控制器:

JMeter可以记录测试步骤;记录控制器是存储这些记录步骤的占位符。

How to use Controllers in JMeter
How to use Controllers in JMeter

简单控制器:

简单控制器只是用户求的容器。

How to use Controllers in JMeter
How to use Controllers in JMeter

环路控制器:

循环控制器使用户求运行指定次数或永远运行,如图所示:

How to use Controllers in JMeter
How to use Controllers in JMeter

随机控制器:

随机控制器使所有用户求在每个循环周期内以随机顺序运行。

例如,有3个用户对网站http://www.google.com的求,顺序如下:

  1. HTTP求
  2. FTP求
  3. JDBC求

这3个求应该运行5次。总共有15个用户求将由JMeter发送到Google服务器。

按顺序发送求的顺序如下:

HTTP求->FTP求->JDBC求

对于每个循环。

How to use Controllers in JMeter
How to use Controllers in JMeter

在随机顺序中,求被随机发送,

FTP求->HTTP求->JDBC求

JDBC求->FTP求->HTTP求

对于每个循环。

模块控制器:

模块控制器的目标是向JMeter添加模块性。

总体思路是Web应用程序由小的功能单元组成(即此功能可以作为“模块”存储在Simple Controller中。模块控制器将选择需要运行的模块。

How to use Controllers in JMeter
How to use Controllers in JMeter

考虑以下场景-

想要模拟:

  • 50 用户注销,
  • 100 用户登录
  • 30 用户搜索www.google.com

可以使用JMeter创建3个模块。每个模块都模拟每个用户活动:登录、注销和搜索。

How to use Controllers in JMeter
How to use Controllers in JMeter

模块控制器选择需要运行的模块。

How to use Controllers in JMeter
How to use Controllers in JMeter

其他重要控制器:

  • 交织控制器:拾取并使一个用户求在线程的每个循环中运行。
  • 运行时控制器:控制允许其子级运行多长时间。

例如,如果指定Runtime Controller 10秒,JMeter将运行测试10秒。

How to use Controllers in JMeter
How to use Controllers in JMeter
  • 事务控制器:测量完成测试执行总时间

  • 包括控制器:设计为使用外部测试计划。有关详细信息,参阅JMeter性能测试。

回路控制器示例

本节向展示将循环控制器集添加到当前性能测试计划的分步说明。

除了为线程组指定的循环值之外,循环控制器还会使采样器运行一定的次数。例如,如果

  • 向循环计数为50的循环控制器添加一个HTTP求
  • 将线程组循环计数配置为2
  • 然后,JMeter将总共发送50*2=100个HTTP求。

以下是此示例的路线图:

How to use Controllers in JMeter
How to use Controllers in JMeter

步骤1) 配置线程组

我们重复使用教程JMeter性能测试中的步骤1、2。

  1. 添加线程组

右键单击“测试计划”并添加一个新的线程组:“添加”->“线程(用户)”->“线程组”

但在线程组控制面板中,按如下方式输入线程属性:

How to use Controllers in JMeter
How to use Controllers in JMeter

它将向Web服务器google.com发出一个用户求并运行2次。

  1. 添加JMeter元素

将HTTP求默认值添加到www.google.com。

  1. 添加回路控制器

右键单击线程组->逻辑控制器->循环控制器

How to use Controllers in JMeter
How to use Controllers in JMeter

步骤2) 配置环路控制器

将值50添加到循环计数字段,如下图所示。它将向web服务器google.com发出一个用户求,运行50次,除了上面为Thread Group指定的循环值=2之外,因此JMeter将总共发送2*50=100个HTTP求。

How to use Controllers in JMeter
How to use Controllers in JMeter

右键单击“循环控制器”,选择“添加”->“采样器”->“HTTP求”

How to use Controllers in JMeter
How to use Controllers in JMeter

步骤3) 在表中添加查看结果

我们重新使用计时器中的步骤2在表中添加查看结果

因此,测试计划如下图所示

How to use Controllers in JMeter
How to use Controllers in JMeter

步骤4) 运行测试

现在返回表中的查看结果,单击菜单栏上的开始按钮(Ctrl+R)以运行测试

如下图所示,jeter模拟一个用户求,发送百次到Web服务器http://www.google.com/。在100次发送用户求后停止测试。

How to use Controllers in JMeter
How to use Controllers in JMeter

故障排除:

  1. 如果在运行上述方案时遇到此问题.执行以下操作
  2. 检查是否通过代理连接到Internet。如果是,删除代理。
  3. 打开一个新的Jeter实例
  4. 在Jeter中打开ControllerTestPlan.jmx
  5. 单击Thread Group->View Result in Table(线程组->在表中查看结果
  6. 运行测试

IT赶路人

专注IT知识分享