Jmeter-功能测试

发布于:2025-03-29 ⋅ 阅读:(23) ⋅ 点赞:(0)

目录

一、接口功能验证

1、创建测试计划

2、添加HTTP请求采样器

3、参数配置

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

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

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

4、添加断言

4.1 响应状态码断言

4.2 响应内容断言

4.3 响应时间断言

5、添加监听器

二、业务流程测试

1、添加线程组

2、添加事务控制器

3、添加HTTP请求

4、参数传递

4.1 提取请求1的结果值

4.1.1 正则表达式提取器

4.1.2 JSON提取器

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

5、添加断言

6、添加监听器

6.1 查看结果树

6.2 聚合报告

三、数据库功能验证

1、导入数据库驱动

2、添加线程组

3、添加JDBC连接

4、添加JDBC请求

5、添加断言

5.1 验证查询操作

5.2 验证更新/插入操作

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)}

    常用函数:

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