性能测试实战
性能测试实战
学习体系
- 掌握 JMeter 常用组件
- 掌握接口压测方法
知识模块
- 服务端性能测试 L1
实战需求
实战 1:测试环境准备
- 点击下载项目
- 测试环境接口文档
- 被压测演示例子程序说明:
- 仅为用于课堂演示,被压测程序,无实际业务逻辑,Mock应用
- 简单模拟一个订餐业务逻辑的 Restful API 接口交互业务逻辑过程
- 包含 GET、POST、DELETE 请求
实战 2:单接口压测
- 单接口压测
- 点菜系统登录接口
- 添加断言
- 设定并发数
- 设定运行时间
- 解读压测报告
实战 3:编写接口脚本
- 完成 4 个接口的脚本编写
- 完成用户的变量定义与调用
- 完成 token 提取
实战 4:场景压测
- 场景压测:点菜系统
- 登录接口
- 浏览菜单接口
- 订单确认接口
- 用户注销接口
- 添加断言
- 解决 Unicode 显示成可读中文
- 生成聚合报告
实战 5:参数化
- 参数化实现多用户登录:csv 格式
- 生成具体报告
相关知识点
| 教程地址 | 教程视频地址 | 时间位置 |
|---|---|---|
| JMeter 虚拟用户管理 | JMeter 虚拟用户管理 | 全部 |
| JMeter 监听器 | JMeter 监听器 | 5:10-9:44 |
| JMeter 变量与引用 | JMeter 变量与引用 | 全部 |
| JMeter 后置处理器 | JMeter 后置处理器 | 全部 |
| JMeter 定时器 | JMeter 定时器 | 全部 |
| 控制器 | 控制器 | 全部 |
| 使用变量进行参数化测试 | 使用变量进行参数化测试 | 全部 |
| JMeter 参数化 csv | JMeter 参数化 csv | 全部 |
实战演练
实战 1:测试环境准备
- 下载测试环境项目到本地,解压缩
- 使用 pycharm 打开项目
- 安装项目依赖:
pip install -r requirements.txt

- 启动服务

- 服务启动成功

实战 2:单接口压测
- 添加线程组
-
添加 HTTP 取样器
- 定义请求名称:用户登录
- 配置 Host 、Port、Path =
/api/v1/user/login - 配置 Method = POST
- 添加接口请求参数

- 添加 json 断言


- 添加查看结果树

- 设置并发

- 添加聚合报告

- 设置压测时间

- 查看压测结果

实战 3:编写接口脚本
- 浏览菜单接口

添加头信息

解决Unicode 显示成可读中文的问题
添加 BeanShell 后置处理器

将项目中 unicode2utf8/unicode2utf8.js 内容复制粘贴到 BeanShell PostProcessor 中

添加响应断言

- 订单确认接口

- 用户注销接口

- 变量设置


- 变量引用

- 运行查看结果

- 参数传递:提取登录接口获取的 token 传递给其他业务接口


把头信息管理器中的 token 值改为引用变量的形式

实战 4:场景压测
- 添加固定定时器


- 添加事务控制器组件

把 4 个接口放到事务控制器下

- 运行查看结果

实战 5:参数化
- 添加 CSV 数据配置组件

- 配置 CSV 组件

- 登录接口中使用变量引用 csv 文件中的值

- 设置线程

- 运行查看效果

总结
- 掌握 JMeter 常用组件
- 掌握接口压测方法