【性能测试】jmeter工具核心组件说明手册

前言

Apache JMeter 是一个用于压力测试和性能测量的开源工具,它被设计用来测试静态和动态资源(例如静态文件、CGI接口、Java 对象、数据库和 FTP 服务器),以及分析整体系统性能。JMeter提供了丰富的组件集,使得用户可以根据测试需求灵活地构建测试计划。

1. Thread Group线程组:

线程组是JMeter测试计划中的基础组件,用于定义一组虚拟用户(线程)。你可以设置线程的数量、循环次数、启动延迟等参数,来模拟不同数量的并发用户对系统进行访问。

线程组面板包含以下组件 -

  • Action to be taken after a Sampler error-如果在测试执行期间发生任何错误,您可以让测试 -

    • Continue测试中的下一个元素

    • Stop Thread以停止当前线程。

    • 完全Stop Test ,以防您在继续运行之前检查错误。

  • Number of Threads - 模拟服务器应用程序的用户数或连接数。

  • Ramp-Up - Period定义JMeter使所有线程运行所需的时间。

  • Loop Count - 定义执行测试的次数。

  • Scheduler checkbox - 选择后,“计划程序配置”部分将显示在控制面板的底部。

  • Scheduler Configuration - 您可以配置运行测试的开始和结束时间。

2. Controllers Samplers、Logic Controllers控制器:

Samplers 负责向服务器发送请求并接收响应。它们可以模拟各种协议,如 HTTP、FTP、SOAP、JMS、JDBC 等。每个 Sampler 都代表一个具体的请求类型,如 HTTP 请求、FTP 文件上传、RPC请求、SOAP/XML请求等。

JMeter 的 Logic Controllers 是用于控制测试计划中请求(或称为 Samplers)执行流程的组件。它们允许你根据特定条件来决定哪些 Sampler 应该执行,以及执行的次数。这对于创建复杂和现实的测试场景非常有用,因为它们可以模仿用户的决策路径和行为。

JMeter提供的所有逻辑控制器列表

  1. 简单控制器
  2. 循环控制器
  3. 一次只有控制器
  4. 交错控制器
  5. 随机控制器
  6. 随机顺序控制器
  7. 吞吐量控制器
  8. 运行时控制器
  9. 如果控制器
  10. 而控制器
  11. 开关控制器
  12. ForEach Controller
  13. 模块控制器
  14. 包括控制器
  15. 交易控制器
  16. 录音控制器

3. Listeners(监听器):

Listeners 用于收集和展示测试结果。JMeter 提供多种类型的监听器,如视图结果树、聚合报告、响应时间图表、响应时间直方图等,这些可以帮助测试人员分析性能数据。

有如下几种监听器

  1. 示例结果保存配置
  2. Graph Full Results
  3. Graph Results
  4. Spline Visualizer
  5. 断言结果
  6. 查看结果树
  7. 汇总报告
  8. 查看表格中的结果
  9. 简单的数据编写者
  10. 监控结果
  11. 分布图(alpha)
  12. 聚合图
  13. Mailer Visualizer
  14. BeanShell监听器
  15. 总结报告

4. Configuration Elements:

配置元素用于设置测试计划中的全局配置,例如 HTTP 默认请求配置、Cookie 管理、CSV 数据集配置等。它们可以被多个 Samplers 共享,以减少重复配置的工作量。

以下列表包含JMeter提供的所有配置元素

  1. Counter
  2. CSV数据集配置
  3. FTP请求默认值
  4. HTTP授权管理器
  5. HTTP缓存管理器
  6. HTTP Cookie管理器
  7. HTTP代理服务器
  8. HTTP请求默认值
  9. HTTP标头管理器
  10. Java请求默认值
  11. 密钥库配置
  12. JDBC连接配置
  13. 登录配置元素
  14. LDAP请求默认值
  15. LDAP扩展请求默认值
  16. TCP采样器配置
  17. 用户定义的变量
  18. 简单的配置元素
  19. 随机变量

5. Post Processors 和 Pre Processors:

这些组件分别在 Sampler 发送请求前和接收响应后执行某些操作。例如,可以从响应中提取数据,或者在发送请求前修改请求数据。

以下列表包含JMeter提供的所有预处理器元素

  1. HTML链接解析器
  2. HTTP URL重写修饰符
  3. HTTP用户参数修饰符
  4. 用户参数
  5. JDBC预处理器
  6. JSR223预处理器
  7. RegEx用户参数
  8. BeanShell预处理器
  9. BSF预处理器

6. Timers:

定时器用于控制请求之间的延迟,帮助模拟真实用户的行为,例如思考时间。

以下列表包含JMeter提供的所有后处理器元素

  1. Regular Expression Extractor
  2. XPath Extractor
  3. 结果状态操作处理程序
  4. JSR223 PostProcessor
  5. JDBC PostProcessor
  6. BSF PostProcessor
  7. CSS/JQuery Extractor
  8. BeanShell PostProcessor
  9. 调试PostProcessor

7. Assertions:

断言用于验证响应是否符合预期。如果断言失败,测试结果会被标记,这有助于识别可能的性能瓶颈或错误。

以下列表包含JMeter提供的所有断言

  1. Beanshell断言
  2. BSF断言
  3. 比较断言
  4. JSR223断言
  5. 响应断言
  6. 持续时间断言
  7. 大小断言
  8. XML断言
  9. BeanShell断言
  10. MD5Hex断言
  11. HTML断言
  12. XPath断言
  13. XML Schema断言

8. 测试元素的执行顺序

  1. 配置元素
  2. Pre-Processors
  3. Timers
  4. Sampler
  5. 后处理器(除非SampleResult为null)
  6. 断言(除非SampleResult为null)
  7. 监听器(除非SampleResult为null)

文章原创首发于微信公众号 软件测试微课堂,更多内容欢迎关注微信公众号查看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

abao_yuan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值