JMeter测试计划包括以下测试元素。
测试计划包括至少要有一个线程组。在每个线程组中,我们可以包含一个或多个其他元素,例如:取样器(Sampler),逻辑控制器,配置元件,监听器和定时器。 每个取样器(Sampler)被放在一个或多个预处理器元件之后,其后是后处理器元件和/或断言元件。让我们详细看看每个元素:
线程组
线程组元素是测试计划的起点。 顾名思义,线程组元素控制JMeter在测试期间将使用的线程数。 我们还可以通过线程组控制以下内容:
· 设置线程的数量
· 设置ramp-up time
· 设置测试迭代次数
线程组控制面板如下:
Control Panel
线程组面板包含以下组件:
· 取样器(Sampler)出错后采取的措施 - 如果在测试执行期间发生错误,您可以采取以下措施:
继续执行测试中的下一个元素。
停止当前的线程。
完全停止测试,便于你在继续运行前检查出现的错误。
· 线程数 - 模拟到服务器应用程序的用户数或连接数。
· Ramp-Up Period - 定义JMeter中所有线程运行多长时间。
· 循环控制器 - 定义执行测试的次数。
· 调度器 - 调度器选择后,调度器配置部分将变为可编辑状态。
· 计划程序配置 - 您可以配置运行测试的开始和结束时间。
控制器
JMeter有两种类型的控制器 - 取样器(Samplers)和逻辑控制器。
取样器(Samplers)
取样器(Samplers)允许JMeter向服务器发送特定类型的请求。 它们模拟来自目标服务器的页面的用户请求。例如,如果需要对HTTP服务执行POST,GET或DELETE,则可以添加HTTP请求采样器。
以下是常用的取样器(Samplers):
· HTTP Request
· FTP Request
· JDBC Request
· Java Request
· SOAP/XML-RPC Request
以下是HTTP Request的屏幕截图:
HTTP Request
逻辑控制器
逻辑控制器允许您控制线程中取样器(Sampler)的处理顺序。逻辑控制器可以改变来自任何子元素的请求顺序。 例如:ForEach控制器,While Controller,循环控制器,如果(If)控制器,Runtime Controller,交替控制器,吞吐量控制器和仅一次控制器。
下面是循环控制器的屏幕截图:
Loop Controller
以下是由JMeter提供的所有逻辑控制器的列表:
· Critical Section Controller
· ForEach控制器
· Include Controller
· Runtime Controller
· Switch Controller
· While Controller
· 事务控制器
· 交替控制器
· 仅一次控制器
· 吞吐量控制器
· 如果(if)控制器
· 录制控制器
· 循环控制器
· 模块控制器
· 简单控制器
· 随机控制器
· 随机顺序控制器
Test Fragment
Test Fragment是放置在与线程组元素相同级别的特殊类型的元素。它与线组的区别在于它不会被执行,除非它被模块控制器或Include Controller引用。此元素纯粹用于在测试计划中的代码复用。
监听器
监听器允许您以表格,图表,树型或某些日志型文本的形式查看取样器(Sampler)的结果。当JMeter的取样器(Sampler)组件被执行时,它们提供对JMeter收集的关于测试用例的数据的可视访问。
可以在测试中的任何地方添加监听器,包括直接在测试计划下。他们将只收集来自或低于其水平的元素的数据。以下列表是JMeter提供的所有监听器:
· Aggregate Graph
· Backend Listener
· BeanShell Listener
· BSF Listener
· Comparison Assertion Visualizer
· JSR223 Listener
· Response Time Graph
· Simple Date Writer
· Summary Report
· 保存响应到文件
· 图形结果
· 察看结果树
· 断言结果
· 生成概要结果
· 用表格察看结果
· 监视器结果
· 聚合报告
· 邮件观察仪
定时器
默认情况下,JMeter线程中每个取样器(Sampler)发送请求不会等待。这可能不是你想要的。您可以添加一个计时器元素,允许您定义在每个请求之间等待的时间段。
以下列表是JMeter提供的所有计时器:
· BeanShell Timer
· BSF Timer
· Constant Throughput Timer
· JSR223 Timer
· Poisson Random Timer
· Uniform Random Timer
· 固定定时器
· 高斯随机定时器
以下是Constant Throughput Timer的屏幕截图:
Constant Throughput Timer
断言
断言允许您对使用取样器(Sampler)请求的响应信息时行一些验证测试。使用断言,您可以证明您的应用程序返回的数据是否正确。JMeter在断言失败时突出(红色)显示。
以下是JMeter提供的所有断言:
· BeanShell断言
· BSF Assertion
· Compare Assertion
· HTML Assertion
· JSR223 Assertion
· MD5Hex断言
· Size Assertion
· SMIME Assertion
· XML Schema Assertion
· XML断言
· XPath Assertion
· 响应断言
· 断言持续时间
配置元件
配置元件允许您创建一个由取样器(Sampler)使用的默认值和变量。它们用于添加或修改取样器(Sampler)发出的请求。
配置元件作为一个分支的一部分,在该部分所有取样器(Sampler)之前执行。因此,配置元件只能在这个分支内部访问。
以下是JMeter提供的所有配置元件:
· CSV Date Set Config
· DNS Cache Manager
· FTP请求缺省值
· HTTP Cache Manager
· HTTP Cookie 管理器
· HTTP信息头管理器
· HTTP授权管理器
· HTTP请求管理器
· Java请求管理器
· JDBC Connection Configuration
· Keystone Configuration
· LDAP Extended Request Defaults
· LDAP请求默认值
· Random Variable
· TCP取样器配置
· 用户定义的变量
· 登陆配置元件/素
· 简单配置元件
· 计数器
前置处理器
前置处理器是在取样器(Sampler)执行之前运行的东西。它们通常用于在运行之前修改Sample请求的设置,或者更新从响应文本中提取的变量。
以下是JMeter提供的所有前置处理器:
· BeanShell PreProcessor
· BSF PreProcessor
· HTML链接解析器
· HTTP URL 重写修饰符
· JDBC PreProcessor
· JSR223 PreProcessor
· RegEx User Parameters
· Sample Timeout
· 用户参数
后置处理器
后置处理器在取样器(Sampler)完成其执行后执行。此元素最常用于处理响应数据,例如,检索特定值以供将来使用。
以下是JMeter提供的所有后置处理器:
· BeanShell PostProcessor
· BSF PostProcessor
· CSS/JQuery Extractor
· Debug PostProcessor
· JDBC PostProcessor
· JSON Path PostProcessor
· JSR223 PostProcessor
· Result Status Action Handler
· XPath Extractor
· 正则表达式提取器
测试元素的执行顺序
以下是测试计划元素的执行顺序:
· 配置元件
· 前置处理器
· 定时器
· 取样器(Sampler)
· 后置处理器 (除非Sample结果为空)
· 断言 (除非Sample结果为空)
· 监听器 (除非Sample结果为空)
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。