性能测试工具 零基础测开学习 20——JMeter 三个重要组件 + 参数化

EternalRights · January 15, 2026 · 1245 hits

前言

        JMeter 三个重要组件:线程组、HTTP 请求、查看结果树,是 JMeter 进行性能测试最基础的组件。

        若没有 JMeter 基础,请点击前往:零基础测开学习 19——JMeter 基础


JMeter 三个重要组件

线程组

作用

线程组就是控制 JMeter 用于执行测试的第一组用户

位置

右键点击 “测试计划” ——> 添加 ——>线程(用户)——> 线程组

特点

  • 模拟多人操作
  • 线程组可以添加多个,多个线程组可以并行或者串行
  • 取样器(请求)和逻辑控制器必须依赖线程组才能使用
  • 线程组下可以添加其他元件下组件

线程组分类

  • 线程组:普通的、常用的线程组
  • setUp 线程组:一种特殊类型的线程组,可用于执行预测试操作
  • tearDown 线程组:一种特殊类型的线程组,可用于执行测试后工作

参数

线程属性

  • 线程数:虚拟用户数
  • Ramp-Up 时间:全部虚拟用户数启动需要的时间
  • 循环次数:指定运行次数,选中 “永久” 后一直运行
  • 延迟创建线程直到需要:默认启动即创建所有线程;勾选则运行对应线程时才创建(对外无体现)
  • 调度器:勾选后才能配置 “持续时间” 和 “启动延迟”。循环次数设置为 “永远” 时调度器才能生效
  • 持续时间:设置脚本持续运行时间
  • 启动延迟:脚本启动延迟等待时间

HTTP 请求

作用

向服务器发送 http 及 https 请求

位置

选中进程组——>右键——>添加——>取样器——>HTTP 请求

参数

  • 协议:HTTP(默认)/HTTPS
  • 服务器名称或 IP:服务器域名或者服务器 IP 地址
  • 端口号:服务端口号
  • HTTP 请求:方法
  • 路径:path,即 URL 端口后面的部分
  • 内容编码:utf-8
  • 参数:

    • get(URL 路径中传参数): 1.在 Path 路径后添加参数。 2.在参数列表添加参数
    • post(请求体中传参数): 1.直接在消息体数据中添加请求体(任意格式:form、json) 2.如果请求体为 form 表单格式,可以在参数列表中添加

查看结果树

案例 1:查看结果树中的 HTTP 请求,有多个子的 HTTP 请求

原因分析:

  • 第一个 HTTP 请求,URL 错误,导致服务器发生了重定向,提供了新的 URL 路径
  • JMeter 会自动发送第二个 HTTP 请求(使用第一个 HTTP 请求中返回的 URL 路径)
  • 点击最外层的 HTTP 请求时,显示的内容与最后一个 HTTP 请求的请求和响应数据一致

案例 2:HTTP 响应数据中存在乱码,需要修改取样器结果的编码格式


JMeter 参数化

基本概念

本质

使用参数的方式来代替脚本中的固定测试数据

实现方式

  • 定义变量
  • 文件定义的方式(所有测试数据都是固定的情况下)
  • 数据库的方式
  • 函数的方式

参数化测试

把测试数据组织起来,用不同的测试数据调用相同的测试方法

JMeter 中常见的参数化方式

  • 用户定义的变量
  • 用户参数
  • CSV Data Set Config
  • 函数

用户定义的变量

作用

定义全局变量

位置

测试计划——>线程组——>配置元件——>用户定义的变量

参数

用户参数

作用

针对同一组参数,当不同的用户来访问时,可以获取到不同的值

位置

测试计划——>线程组——>前置处理器——>用户参数

参数

CSV 数据位置

作用

让不同用户在多次循环时,可以取到不同的值

位置

测试计划——>线程组——>配置元件——>CSV 数据文件设置

参数

函数(__counter)

作用

计数函数,一般做执行次数统计使用

位置

在菜单中选择——>选项——>函数助手对话框




后记

        久违啦,各位。🍻
        之所以断更了有 1 个月,是因为这段时间我一直在忙碌的寻找日常实习,精力投入到了简历投递、面试。功夫不负有人!我如愿以偿地成为了一名测试开发实习生。
        而现在,我在新的公司稳定下来了,精力也充裕起来了,我呢也会继续积极地更新此系列,之后的文章中我也会积极地分享我真正地进入到企业的心得体会,继续与各位一起进步!🍻

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up