Jmeter-功能测试

目录

一、接口功能验证

1、创建测试计划

2、添加HTTP请求采样器

3、参数配置

[3.1 使用CSV Data Set Config动态读取外部数据](#3.1 使用CSV Data Set Config动态读取外部数据)

[3.2 用户定义变量(全局变量,如服务器地址、端口)](#3.2 用户定义变量(全局变量,如服务器地址、端口))

[3.3 函数助手(动态生成参数值,如随机数、UUID)](#3.3 函数助手(动态生成参数值,如随机数、UUID))

4、添加断言

[4.1 响应状态码断言](#4.1 响应状态码断言)

[4.2 响应内容断言](#4.2 响应内容断言)

[4.3 响应时间断言](#4.3 响应时间断言)

5、添加监听器

二、业务流程测试

1、添加线程组

2、添加事务控制器

3、添加HTTP请求

4、参数传递

[4.1 提取请求1的结果值](#4.1 提取请求1的结果值)

[4.1.1 正则表达式提取器](#4.1.1 正则表达式提取器)

[4.1.2 JSON提取器](#4.1.2 JSON提取器)

[4.2 在请求2中使用请求1的结果值](#4.2 在请求2中使用请求1的结果值)

5、添加断言

6、添加监听器

[6.1 查看结果树](#6.1 查看结果树)

[6.2 聚合报告](#6.2 聚合报告)

三、数据库功能验证

1、导入数据库驱动

2、添加线程组

3、添加JDBC连接

4、添加JDBC请求

5、添加断言

[5.1 验证查询操作](#5.1 验证查询操作)

[5.2 验证更新/插入操作](#5.2 验证更新/插入操作)

[5.3 验证数据库数据](#5.3 验证数据库数据)


一、接口功能验证

场景:验证 RESTful API 或 Web 服务的输入输出是否符合预期

1、创建测试计划

启动JMeter → 右键"测试计划" → 添加线程组(添加 > 线程(用户) > 线程组

线程组配置(功能测试通常只需单线程):

2、添加HTTP请求采样器

右键线程组 → 添加 → 取样器→ 选择 HTTP请求

HTTP请求→ 添加 →配置元件 →HTTP信息头管理器

3、参数配置

3.1 使用CSV Data Set Config动态读取外部数据

作用:从 CSV 文件逐行读取数据,供线程组使用。

创建 CSV 文件(如 data.csv

添加 CSV Data Set Config(右键线程组 → 配置元件→ CSV 数据文件设置)

使用变量 :在 HTTP 请求中用 ${title}${name} 引用变量

3.2 用户定义变量(全局变量,如服务器地址、端口)

适用场景:少量固定数据或手动配置

右键线程组 → 添加→前置处理器→ 用户参数

右键线程组→ 添加 → 配置元件→HTTP请求默认值

HTTP请求修改

3.3 函数助手(动态生成参数值,如随机数、UUID)

适用场景使用函数生成动态值

菜单栏--工具-- 函数助手对话框--随机数 选Random:最小值、最大值、变量名

${__Random(11111,99999,rand_num)}

时间戳 选time:格式、变量名

${__time(yyyy-MM-dd HH:mm:ss,current_time)}

随机字符串 选RandomString:长度、字符集、变量名

${__RandomString(8,1234567890abcdefghijklmnopqrstuvwxyz,random_str)}

常用函数:

bash 复制代码
* ${__Random(1000,2000)}:生成1000-2000的随机数

* ${__UUID()}:生成唯一标识符

* ${__CSVRead(path,0)}:读取CSV文件指定列的值

*  ${__time(yyyy-MM-dd HH:mm:ss)}:当前时间

直接使用:

或配置成公共变量使用:

右键线程组→ 添加 → 配置元件→用户定义的变量

4、添加断言

4.1 响应状态码断言

右键HTTP请求 → 添加→ 断言 → 响应断言

4.2 响应内容断言

右键HTTP请求 → 添加→ 断言 → 响应断言

或者

右键HTTP请求 → 添加→ 断言 → JSON断言

4.3 响应时间断言

右键HTTP请求 → 添加→ 断言 →断言持续时间

5、添加监听器

右键线程组 → 添加→监听器→查看结果树

查看请求/响应详情,调试时使用(正式测试时禁用,避免内存消耗)

点击运行

二、业务流程测试

场景:验证多步骤业务流程是否正常。例如:

  • 用户注册 → 登录 → 下单 → 支付 → 查看订单。

  • API 依赖链(如获取 Token → 调用需鉴权的接口)。

1、添加线程组

右键"测试计划" → 添加线程组(添加 > 线程(用户) > 线程组

2、添加事务控制器

右键线程组→添加→逻辑控制器→事务控制器

3、添加HTTP请求

添加两个HTTP请求并更改名称:右键事务控制器 → 添加 → 取样器→ 选择 HTTP请求

具体配置参照 一、接口功能验证

4、参数传递

4.1 提取请求1的结果值

4.1.1 正则表达式提取器

右键 HTTP 请求 → 添加→ 后置处理器 → 正则表达式提取器

4.1.2 JSON提取器

右键 HTTP 请求 → 添加→ 后置处理器 →JSON提取器

4.2 在请求2中使用请求1的结果值

5、添加断言

右键HTTP请求 → 添加→ 断言

详细参照 一、接口功能验证 中的 添加断言

6、添加监听器

6.1 查看结果树

右键线程组 → 添加→监听器→查看结果树

查看请求/响应详情,调试时使用(正式测试时禁用,避免内存消耗)

6.2 聚合报告

统计成功率、响应时间等关键指标

右键线程组 → 添加→监听器→聚合报告

三、数据库功能验证

场景:验证数据库操作的正确性,数据是否入库。例如:

  • 用户注册后,数据库是否写入正确数据。

  • 订单状态更新后,数据库字段是否同步。

1、导入数据库驱动

将数据库的 JDBC 驱动(如 MySQL 的 mysql-connector-java.jar、Oracle 的 ojdbc.jar)放入 JMeter 的 lib 目录,重启 JMeter。

2、添加线程组

右键"测试计划" → 添加线程组(添加 > 线程(用户) > 线程组

3、添加JDBC连接

右键线程组 → 添加 → 配置元件 → JDBC Connection Configuration

4、添加JDBC请求

右键线程组 → 添加 → 采样器 → JDBC Request

5、添加断言

5.1 验证查询操作

右键 JDBC Request → 添加 → 断言 → 响应断言

5.2 验证更新/插入操作

5.3 验证数据库数据

二次查询验证

在更新操作后,添加新的 JDBC Request 查询数据,再用断言验证结果

相关推荐
weixin_419658312 天前
JMeter性能测试
jmeter
爱学习的执念2 天前
高频Jmeter软件测试面试题
jmeter
2401_861277552 天前
适合使用判定表设计测试用例的条件,如何使用判定表构造测试用例,举例说明
功能测试·单元测试·测试用例
少云清2 天前
【功能测试】6_Web端抓包 _Fiddler抓包工具的应用
前端·功能测试·fiddler
小小测试开发2 天前
JMeter插件用法全解析:扩展自动化测试能力的实用指南
jmeter
卓码软件测评3 天前
第三方软件测评机构:【Gatling与JMeter的架构对比:异步与非阻塞I/O模型如何实现更高并发】
测试工具·jmeter·架构·测试用例·负载均衡·压力测试
小小测试开发3 天前
JMeter XPath2 Extractor用法全解析:精准提取XML/HTML响应数据
xml·jmeter·html
少云清3 天前
【功能测试】3_Web项目 _单功能模块测试
功能测试·模块测试
安然无虞3 天前
JMeter性能测试工具·下
开发语言·测试工具·jmeter
少云清3 天前
【功能测试】4_Web端抓包 _网络知识
网络·功能测试·抓包