性能测试实战
性能测试实战
学习体系
- 掌握 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 常用组件
- 掌握接口压测方法