回顾Jmeter压力测试(二)

简介: setUp Thread Group:一种特殊类型的ThreadGroup的,可用于执行预测试操作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试前进行定期线程组的执行。

主要介绍的菜单为常用菜单,对于个人不常用的功能会进行忽略。


image.png


测试计划菜单介绍


image.png


线程(用户)


  • 线程组:线程组元素是任何测试计划的起点。所有控制器和采样器必须在线程组下
  • setUp Thread Group:一种特殊类型的ThreadGroup的,可用于执行预测试操作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试前进行定期线程组的执行。
  • teardown thread group:一种特殊类型的ThreadGroup的,可用于执行测试后动作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试结束后执行定期的线程组。


这里可能还是不太懂,可以参考junit的setup ,teardown


image.png


配置元件


配置元件(config element)用于提供对静态数据配置的支持。CSV Data Set config 可以将本地数据文件形成数据池(Data Pool),而对应于HTTP Request Sampler和 TCP Request Sampler等类型的配制无件则可以修改Sampler的默认数据。(例如,HTTP Cookie Manager 可以用于对 HTTP Request Sampler 的cookie 进行管理)


监听器:


image.png


监听器,顾名思义就是用来监听测试结果的,可以看到对应的请求需要配置不同的监听器。最常用的功能是 查看结果树聚合报告等,在后续的功能介绍中会进行具体的使用:


定时器:


image.png


定时器个人没有进行过实践,略过。。。。。


前置处理器:


image.png


用于在实际的请求发出之前对即将发出的请求进行特殊处理。例如,HTTP URL重写修复符则可以实现URL重写,当RUL中有sessionID 一类的session信息时,可以通过该处理器填充发出请求的实际的sessionID 。


后置处理器:


image.png


用于对Sampler 发出请求后得到的服务器响应进行处理。一般用来提取响应中的特定数据(类似LoadRunner测试工具中的关联概念)。例如,XPath Extractor 则可以用于提取响应数据中通过给定XPath 值获得的数据。


断言:


image.png


断言用于检查测试中得到的相应数据等是否符合预期,断言一般用来设置检查点,用以保证性能测试过程中的数据交互是否与预期一致。


请注意,断言适用于其范围内的所有采样器。要将声明限制为单个采样器,请将该声明添加为采样器的子代。

测试片段:


“测试片段”元素是一种特殊类型的控制器,它与线程组元素位于同一级别的“测试计划”树上。它与线程组的区别在于,除非模块控制器Include_Controller引用它,否则它不会执行。该元素仅用于测试计划中的代码重用


非测试元件:


可以在这里找到对应的Http代理服务器设置,可以配置http代理,方便进行代理服务器进行并发测试。


各元件启动顺序:


  1. 配置元素
  2. 预处理器
  3. 计时器
  4. 取样器
  5. 后处理器(除非SampleResult为null
  6. 断言(除非SampleResult为null
  7. 侦听器(除非SampleResult为null


请注意,计时器,断言,预处理器和后处理器仅在有适用于其的采样器时才进行处理。逻辑控制器和采样器按照它们在树中出现的顺序进行处理。其他测试元素将根据其发现范围和测试元素的类型进行处理。[在一个类型内,元素按照它们在树中出现的顺序进行处理]。


线程组的菜单介绍:


取样器:


image.png


采样器告诉JMeter将请求发送到服务器并等待响应。它们按照在树中出现的顺序进行处理。控制器可用于修改采样器的重复次数。


JMeter采样器包括:


  • FTP请求
  • HTTP请求(也可用于SOAP或REST Web服务)
  • JDBC请求
  • Java对象请求
  • JMS请求
  • JUnit测试请求
  • LDAP要求
  • 邮件要求
  • 操作系统进程请求
  • TCP请求


切记在测试计划中添加一个侦听器,否则最终的结果是看不到的


逻辑控制器:


image.png


逻辑控制器使您可以自定义JMeter用于确定何时发送请求的逻辑,为了理解逻辑控制器对测试计划的影响,考虑以下测试树


  • Test Plan
  • Thread Group
  • Once Only Controller
  • Load Search Page (HTTP Sampler)
  • Interleave Controller
  • Search "A" (HTTP Sampler)
  • Search "B" (HTTP Sampler)
  • HTTP default request (Configuration Element)
  • HTTP default request (Configuration Element)
  • Cookie Manager (Configuration Element)


可以看到,使用逻辑控制器可以组合出各种复杂的请求。

相关文章
|
3月前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
【10月更文挑战第1天】Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
177 3
|
4月前
|
测试技术 数据库 UED
Python 性能测试进阶之路:JMeter 与 Locust 的强强联合,解锁性能极限
【9月更文挑战第9天】在数字化时代,确保软件系统在高并发场景下的稳定性至关重要。Python 为此提供了丰富的性能测试工具,如 JMeter 和 Locust。JMeter 可模拟复杂请求场景,而 Locust 则能更灵活地模拟真实用户行为。结合两者优势,可全面评估系统性能并优化瓶颈。例如,在电商网站促销期间,通过 JMeter 模拟大量登录请求并用 Locust 模拟用户浏览和购物行为,可有效识别并解决性能问题,从而提升系统稳定性和用户体验。这种组合为性能测试开辟了新道路,助力应对复杂挑战。
132 2
|
5月前
|
测试技术 持续交付 Apache
深度挖掘:Python性能测试中JMeter与Locust的隐藏技能🔍
【8月更文挑战第5天】随着软件规模扩大,性能测试对系统稳定性至关重要。Apache JMeter和Locust是两大主流工具,各有千秋。本文探索它们在Python环境下的进阶用法,挖掘更多性能测试潜力。JMeter功能强大,支持多种协议,可通过命令行模式执行复杂测试计划,并与Python集成实现动态测试数据生成。Locust基于Python,通过编写简洁脚本模拟HTTP请求,支持自定义请求及与Python库深度集成。掌握这些技巧可实现高度定制化测试场景,有效识别性能瓶颈,提升应用稳定性。
134 1
|
5月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【8月更文挑战第5天】性能测试确保应用高负载下稳定运行。Apache JMeter与Locust是两大利器,助力识别解决性能瓶颈。本文介绍这两款工具的应用与优化技巧,并通过实战示例展示性能测试流程。首先,通过JMeter测试静态与动态资源;接着,利用Locust的Python脚本模拟HTTP请求。文中提供安装指南、命令行运行示例与性能优化建议,帮助读者掌握性能测试核心技能。
147 0
|
2月前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
104 3
|
2月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
63 1
|
4月前
|
缓存 Java 测试技术
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
使用JMeter对项目各个接口进行压力测试,并对前端进行动静分离优化,优化三级分类查询接口的性能
124 10
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
|
3月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【10月更文挑战第1天】告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
93 4
|
4月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
285 7
Jmeter实现WebSocket协议的接口测试方法
|
4月前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
【9月更文挑战第10天】随着软件应用的不断扩展,性能测试成为确保系统稳定运行的关键环节。本文通过对比Apache JMeter和Locust,探讨了如何在Python环境中利用这两款工具挖掘更多性能测试潜力。JMeter是一款成熟且功能强大的开源工具,支持多种协议,适用于各种应用的测试;而Locust则基于Python,通过简单脚本模拟HTTP请求,更适合Web应用测试。
111 3