JMeter 性能测试计划深度解析:构建与配置的树形结构指南

ops/2024/11/22 21:43:59/

Apache JMeter 的 TestPlan .jmx 文件是采用树形结构进行组织的,这种结构使得测试计划的构建和配置更加直观和易于管理。以下是对 JMeter GUI 配置内容的详细描述:
在这里插入图片描述

jmeterTestPlan_3">一、一级目录:jmeterTestPlan

  • jmeterTestPlan:这是整个测试计划的根节点,所有其他元素都包含在这个节点下。它代表了一个完整的性能测试脚本或场景。

二、二级目录:hashTree

  • hashTree:这是一个容器元素,用于组织和管理测试计划中的各个子元素。它本身不执行任何操作,但提供了一种层次化的结构来容纳其他组件。

三、三级目录及以下

jmeterTestPlan 和 hashTree 下,可以添加多种类型的子元素,这些子元素共同构成了完整的测试计划。以下是一些常见的子元素及其描述:

  1. Test Plan(测试计划)

    • 名称:用户自定义的测试计划名称。
    • 注释:对测试计划的详细注解,帮助用户理解测试计划的目的和内容。
    • 选项:包括独立运行每个线程组、主线程结束后运行 tearDown 线程组、函数测试模式等,这些选项用于控制测试计划的执行方式[4]。
  2. Threads(Users)/线程组

    • 线程数:设置一次测试运行启动的线程数,模拟并发用户数[5]。
    • Ramp-Up 时间:决定多长时间内启动所有线程,以避免在测试开始时产生过大的工作负载[5]。
    • 循环次数:设置线程组中每个线程的执行次数或无限循环[5]。
  3. Config Element(配置元素)

    • HTTP Request Defaults:设置默认的 HTTP 请求参数,如服务器名称、端口号、协议等[5]。
    • HTTP Header Manager:管理 HTTP 请求头信息,可以添加、删除或修改请求头[5]。
    • User Defined Variables:定义用户变量,可以在测试计划中引用这些变量来动态改变请求参数[5]。
  4. Timers(定时器)

    • Constant Timer:设置固定的等待时间,使线程在发送请求之间暂停一段时间[5]。
    • Gaussian Random Timer:基于高斯分布生成随机等待时间,模拟更真实的用户行为[5]。
  5. Sampler(采样器)

    • HTTP Request:发送 HTTP 请求到指定的服务器和端口,并记录响应时间和数据[5]。
    • JDBC Request:执行数据库查询,并返回结果集[5]。
  6. Listener(监听器)

    • View Results Tree:以树状结构显示每个请求的详细信息,包括请求头、响应头、响应数据等[5]。
    • Summary Report:汇总测试结果,显示平均响应时间、吞吐量、错误率等关键指标[5]。
    • Aggregate Report:生成详细的聚合报告,包括响应时间的分布情况、最大值、最小值等[5]。
  7. Assertions(断言)

    • Response Assertion:检查响应是否符合预期的条件,如状态码、响应时间、响应内容等[5]。
    • JSON Assertion:针对 JSON 格式的响应进行断言,验证 JSON 结构和数据的正确性[5]。
  8. Pre Processors(前置处理器)Post Processors(后置处理器)

    • JSR223 PreProcessor:使用 JavaScript、Groovy 等脚本语言编写自定义的前置处理逻辑[5]。
    • JSON Extractor:从 JSON 格式的响应中提取数据,并将其存储在变量中供后续使用[5]。
    • BeanShell Assertion:使用 BeanShell 脚本语言编写自定义的断言逻辑[5]。

综上所述,JMeter 的 TestPlan .jmx 文件通过树形结构组织了各种测试元素,使得用户可以灵活地构建和配置复杂的性能测试脚本。每个元素都有其特定的作用和配置选项,共同协作以模拟真实用户行为、收集性能数据并评估系统性能。


http://www.ppmy.cn/ops/135891.html

相关文章

Zustand 让 React 状态变得太简单

为什么选择 Zustand? Zustand 是一个为 React 打造的现代化状态管理库,它以其简洁的 API 和强大的功能正在改变前端开发的方式。相比 Redux 繁琐的样板代码(action types、dispatch、Provider等),Zustand 提供了更加优雅且直观的解决方案。 核心特性 1. 基于 Hook 的简洁API i…

MySQL最后练习,转转好物交易平台项目

第一步,做一个项目要先做数据库,创建表 这边已经帮你们创好了, CREATE TABLE UserInformation_普通用户信息表 ( id INT(4) NOT NULL COMMENT 编号 AUTO_INCREMENT, username VARCHAR(10) NOT NULL COMMENT 用户名, password VARCHAR(20) N…

HarmonyOS NEXT应用元服务开发Intents Kit(意图框架服务)习惯推荐方案概述

一、习惯推荐是HarmonyOS学习用户的行为习惯后做出的主动预测推荐。 1.开发者将用户在应用/元服务内的使用行为向HarmonyOS共享,使得HarmonyOS可以基于共享的数据学习用户的行为习惯。 2.在HarmonyOS学习到用户的行为习惯后,会给用户推荐相应功能&#x…

前端:HTML (学习笔记)【1】

一,网络编程的三大基石 1,URL (1)url —— 统一资源定位符: 网址——整个互联网中可以唯一且准确的确定一个资源的位置。 【项目外】 网址——https://www.baidu.com/ …

实现简易计算器 网格布局 QT环境 纯代码C++实现

问题:通过代码完成一个10以内加减法计算器。不需要自适应,界面固定360*350。 ""按钮90*140,其它按钮90*70。 参考样式 #define DEFULT_BUTTON_STYLE "\ QPushButton{\color:#000000;\border:1px solid #AAAAAA;\border-radi…

大数据治理的核心要素

大数据治理的要素是指为实现对数据的高效管理和利用所需的核心组成部分。这些要素相互关联,共同构建了完整的大数据治理体系。以下是主要的要素: 1. 数据质量管理 数据质量管理确保数据在全生命周期中保持高质量,能被有效使用和信任。 目标 提升数据的准确性、完整性、一致…

Vue项目搭建-2-组合式API

入口-setup 在组件渲染时会优先执行 setup 中代码&#xff0c;执行时机为 beforeCreate 之前 setup 方法中的对象若想要在 template 中使用&#xff0c;需要将方法 return 出去: <script> export default {setup() {console.log(setup had run)const msg "hello…

RK3568 android11 适配敦泰触摸屏 FocalTech-ft5526

一&#xff0c;FocalTech触摸屏简介 FocalTech 的触控控制器常用于各种触摸屏&#xff0c;包括电容式和电阻式屏幕。支持多点触控&#xff0c;能够识别多个手指的输入。 本文提到的 ft5526 支持多达 10 个触控点&#xff0c;能够同时识别多个手指的输入&#xff0c;适合需要复…