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 查询数据,再用断言验证结果

相关推荐
zzhz92515 小时前
Jmeter操作(数据库)
数据库·jmeter
niuniu_66619 小时前
appium应用测试场景
功能测试·selenium·测试工具·appium·测试
小小的测试一下1 天前
业务流程先导及流程图回顾
功能测试·软件工程
HaiFan.2 天前
论坛系统的测试
功能测试
小han的日常2 天前
Jmeter生成HTML测试报告
jmeter
suimeng62 天前
黑盒测试的等价类划分法(输入数据划分为有效的等价类和无效的等价类)
功能测试
A~taoker3 天前
jmeter接口自动化+ant执行(方案)
运维·jmeter·自动化
程序员杰哥4 天前
软件测试常用设计模式
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
互联网杂货铺4 天前
功能测试、性能测试、安全性测试详解
自动化测试·软件测试·功能测试·测试工具·职场和发展·性能测试·安全性测试