JMeter 性能测试

Posted CSR-kkk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JMeter 性能测试相关的知识,希望对你有一定的参考价值。

文章目录

JMeter 简介

  1. 多线程框架 —— 支持多并发操作
  2. 用于对服务器模拟负载
  3. 支持web、数据库、FTP服务器系统的性能测试
  4. 开源、纯Java,可二次定制化开发

环境搭建

  • 官网下载 jmeter 压缩包
  • 解压到本地目录
  • 配置环境变量:
    1. JMETER_HOME: 解压缩包路径,如 D:\\Tools\\apache-jmeter-5.2
    2. path中配置:%JMETER_HOME%\\bin
  • 命令行中输入:jmeter

GUI界面设置

bin目录中配置:jmeter.properties(去注释,修改值)

  • language:zh_CN
  • jsyntaxtextarea.font.size:20,jsyntaxtextarea.font.family=Hack
  • jmeter.toolbar.icons.size= 32x32,jmeter.tree.icons.size= 24x24
  • jmeter.hidpi.mode=true,jmeter.hidpi.scale.factor=2.0

保存修改,在GUI界面中,选择选项栏的option(选项)选择外观,选择Metal,Yes


jmeter 脚本

用户操作被测软件系统某场景的请求


jmeter元件

  • 配置元件
  • 监听器元件
  • 其它常用元件

配置元件

  1. HTTP请求默认值
  2. HTTP消息头管理器
  3. HTTP Cookies管理器
  4. HTTP Cache管理器

监听器元件

  1. 察看结果树
    • 分析查看具体某个请求的详情
      • 请求头、请求体
      • 响应头、响应体
    • 做性能场景时
      • 分析错误请求的原因
  2. 聚合报告
    • 汇总统计
      • 请求数、响应时间(平均值、中位数、90% 、95%、99%、 min、 max)单位:ms
      • 错误率(越低越好)
      • 吞吐量(越高越好)
      • 发送/接受 – 带宽
  3. 表格察看结果
  4. 图形结果

其它常用元件

  1. 前置处理器
    • 请求发出前执行的控制器(元件)
    • 如:加密
  2. 后置处理器
    • 请求发出之后执行的控制器(元件)
    • 如:提取数据
  3. 定时器
    • 思考时间 —— 固定定时器
    • 同步定时器 —— 集合点
    • 随机定时器
    • 吞吐量定时器

JMeter 参数化

参数化流程

  1. 找出需要做参数化的数据
  2. 准备提供给参数化需要的数据源
  3. 把脚本里的常量 转为变量,使用数据源数据

参数化方式

  1. CSV :需要配置的元件

    • 使用场景:账号密码
  2. 函数式:

    • 随机数
    • time
    • counter计数器
  3. 变量

  4. 编程式

  • 问题解决:
  • 1、“msg”:“TOKEN值为空”
    • 在获取token接口添加后置处理器 – json提取器 --变量名(getToken)、$.token、0
    • 请求接口添加 HTTP消息头管理器,添加消息头,例:X-AUTH-TOKEN:$getToken
  • 2、“message”:"…必须为中文"
    • 请求编码设置为 utf-8
  • 3、“message”:“该号码已存在”
    • 做参数化

以上是关于JMeter 性能测试的主要内容,如果未能解决你的问题,请参考以下文章

Jmeter工具做性能测试 常见的错误汇总

jmeter接口测试图文示例

JMeter 性能测试基本过程及示例

JMeter 性能测试基本过程及示例

性能测试教程[7] jmeter接口自动化回归测试

性能测试工具(jmeter运行优化)