当前位置: 首页 > news >正文

JMeter元件和采样器一览

Apache JMeter是一个强大的开源负载测试工具,用于性能和功能测试。JMeter提供了丰富的元件和采样器,使得它能够模拟复杂的测试场景和高并发的用户请求。以下是JMeter中常用的一些元件和采样器的介绍和讲解:

测试计划元件

  • 测试计划(Test Plan):表示整个测试的容器,所有的线程组、控制器、采样器和监听器都在测试计划内部。

  • 线程组(Thread Group):模拟一组用户或线程执行测试。可以设置线程数(模拟的用户数)、循环次数等。

逻辑控制器

  • 简单控制器(Simple Controller):用于组织测试脚本,没有实际的控制逻辑。

  • 循环控制器(Loop Controller):按照设定的次数循环执行其下的采样器。

  • 事务控制器(Transaction Controller):将多个请求组合为一个事务,用于测量整个事务的响应时间。

  • 条件控制器(If Controller):根据给定的条件表达式决定是否执行其下的采样器。

  • 随机控制器(Random Controller):随机选择一个子元件执行。

采样器

  • HTTP请求(HTTP Request):模拟一个HTTP请求,是进行Web应用测试时最常用的采样器。

  • JDBC请求(JDBC Request):允许发送一个JDBC(数据库)请求到数据库服务器。

  • Java请求(Java Request):允许调用一个Java类。

  • SOAP/XML-RPC请求:用于发送SOAP或XML-RPC类型的Web服务请求。

监听器

  • 聚合报告(Aggregate Report):提供一系列的性能测试指标,如平均响应时间、吞吐量等。

  • 查看结果树(View Results Tree):显示每个采样请求的详细结果,包括请求和响应数据。

  • 响应时间图(Response Times Over Time):图形化显示响应时间随时间的变化。

断言

  • 响应断言(Response Assertion):用于验证响应数据是否符合预期。

  • JSON断言(JSON Assertion):专门用于验证JSON格式响应数据的正确性。

配置元件

  • CSV数据文件设置(CSV Data Set Config):用于读取CSV文件中的数据,以驱动测试数据。

  • HTTP请求默认值(HTTP Request Defaults):允许为所有HTTP请求设置默认值,如服务器名称、端口等。

  • 用户定义的变量(User Defined Variables):定义一组变量,可以在测试计划的任何地方使用。

前置处理器和后置处理器

  • 正则表达式提取器(Regular Expression Extractor):从响应数据中提取值并存储为变量,常用于处理动态数据。

  • JSR223前置处理器/后置处理器:允许使用Groovy等脚本语言执行自定义逻辑,用于请求前的准备工作或对响应数据进行处理。

定时器

  • 常量定时器(Constant Timer):在每个请求之间添加固定的延迟。

  • 高斯随机定时器(Gaussian Random Timer):根据高斯分布随机添加延迟,模拟真实用户的行为。

这些只是JMeter中的一部分元件和采样器。JMeter的灵活性和扩展性使其能够适应多种测试需求,从简单的HTTP请求测试到复杂的分布式测试都能轻松应对。通过合理地组合和配置这些元件,可以构建出强大的测试脚本,满足各种性能测试和功能测试的需求。

相关文章:

  • Stable Diffusion WebUI API http://127.0.0.1:7860/docs空白
  • VueCli的安装与卸载
  • 线性dp:P2679 子串
  • C++ 补充之常用遍历算法
  • finedance 测试笔记
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(通用属性:Popup控制)
  • RK3568 Android12 适配抖音 各大APP
  • 备战蓝桥杯---状态压缩DP进阶题1
  • qsort使用
  • 数据库-第二/三章 关系数据库和标准语言SQL【期末复习|考研复习】
  • Springboot+vue的商业辅助决策系统的设计与实现(有报告)。Javaee项目,springboot vue前后端分离项目
  • 微信小程序自制动态导航栏
  • GNER: 生成式实体识别的新 SoTA
  • 数据结构实现-线性表
  • Javaweb之SpringBootWeb案例之自动配置的原理分析的详细解析
  • 【Amaple教程】5. 插件
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • CSS实用技巧
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • es6
  • Java多态
  • Java面向对象及其三大特征
  • Linux gpio口使用方法
  • Python_网络编程
  • SSH 免密登录
  • Vue UI框架库开发介绍
  • vue2.0项目引入element-ui
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 反思总结然后整装待发
  • 前端技术周刊 2019-02-11 Serverless
  • 三栏布局总结
  • 通过git安装npm私有模块
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • 你对linux中grep命令知道多少?
  • ​2021半年盘点,不想你错过的重磅新书
  • #### go map 底层结构 ####
  • #HarmonyOS:Web组件的使用
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • .NET CORE 3.1 集成JWT鉴权和授权2
  • .NET Framework 服务实现监控可观测性最佳实践
  • .NET NPOI导出Excel详解
  • .net 设置默认首页
  • .Net 应用中使用dot trace进行性能诊断
  • .NET正则基础之——正则委托
  • @Autowired和@Resource装配
  • [ vulhub漏洞复现篇 ] Apache APISIX 默认密钥漏洞 CVE-2020-13945
  • [20170705]diff比较执行结果的内容.txt
  • [AUTOSAR][诊断管理][ECU][$37] 请求退出传输。终止数据传输的(上传/下载)
  • [C#]OpenCvSharp结合yolov8-face实现L2CS-Net眼睛注视方向估计或者人脸朝向估计