JMeter测试计划元素

发表于:2018-2-05 10:44

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:地空神一    来源:简书

  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),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号