jmeter使用文档
- 一.准备工作
- 二.安装
- 1.安装jdk1.8+以上的版本
- 2.解压apache-jmeter-5.4.1.zip
- 2.1 启动软件
- 2.2 修改为中文模式
- 三.功能说明及名词解释
- 3.1线程组
- 3.2 HTTP请求
- 3.3 Http信息头管理器
- 3.4全局用户自定义变量
- 3.5线程组内用户定义变量
- 3.6察看结果树
- 3.6.2.1查看响应的6种常用方法类型介绍
- 3.7聚合报告
- 3.8计数器
- 3.9正则表达式提取器
- 3.10 BeanShell后置处理程序
- 3.11 CSV数据文件设置
- 四.实战详解
- 1.简单的http请求
- 2.自定义用户变量
- 3.提取请求数据,并存入文件中
- 4.使用CSV文件,读取数据
一.准备工作
环境: JDK 1.8+以上版本
JDK1.8下载地址:
软件: Jmeter 5.4.1
下载地址: https://jmeter.apache.org/download_jmeter.cgi
二.安装
1.安装jdk1.8+以上的版本
安装完毕后,配置系统环境变量,配置过程略
2.解压apache-jmeter-5.4.1.zip
2.1 启动软件
解压后进入bin文件夹,找到并双击jmeter.bat,会出现如图二所示的Dos命令行和启动加载页面,
图三则为启动成功后的示意图
图一:
图二:
图三:
2.2 修改为中文模式
依据您个人的习惯,修改为对应的语言模式,本图为中文
三.功能说明及名词解释
3.1线程组
3.1.1创建步骤
右键测试计划 -> 添加 -> 线程(用户) -> 线程组
3.1.2 功能介绍
线程数: 同时并发的线程数量
Ramp-up时间: 缓冲时间, 如: 线程数为100,Ramp-up时间为2,则需在2秒内执行完100个线程,也就是每秒50个线程。 为0则表示同时并发
循环次数:循环多少次线程操作, 如循环次数为2,线程数为100,则共执行200个线程
3.2 HTTP请求
3.2.1 创建步骤
3.2.2 功能介绍
协议: http/https
服务器名称或ip: ip地址或正式网址
端口号: 正式网址无需端口号
Http请求: 常见的get/post/delete/put
路径: api地址
内容编码: 默认为ISO-8859-1, 如参数或请求体中未包含中文,可不填写; 如包含中文,但未填写,则提交后的内容会显示问号(?)
3.3 Http信息头管理器
3.3.1 创建步骤
3.3.2 功能介绍
请求头的附加信息,此处默认为空白, 下图为常用的两项设置
左侧名称为 类型
右侧值为 变量
3.4全局用户自定义变量
3.4.1 创建步骤
点击测试计划,右侧会出现设置界面
3.4.2 功能介绍
在该页面定义好相关变量后,在任意的线程组中均可使用, 使用方法 ${定义的变量名}
如下图
3.5线程组内用户定义变量
3.5.1 创建步骤
右键线程组-> 配置元件-> 用户定义变量
3.5.2 功能介绍
使用方法同3.4全局自定义变量一致,区别在于 该设置只应用于当前线程组
3.6察看结果树
3.6.1 创建步骤
右键线程组-> 监听器-> 察看结果树
3.6.2 功能介绍
用于查看请求成功与失败时的数据反馈
3.6.2.1查看响应的6种常用方法类型介绍
1、Text
查看结果树中请求的默认格式为text,包含取样器结果、请求、响应数据3个部分内容。
取样器结果: 默认Raw视图,可以切换为Parsed视图,表单显示更直观。
请求:默认Raw视图下,Restquest Body 及Restquest Headers两部分。HTTP显示更直观。输入信息查找,还可以设置区分大小写、正则表达式。
响应数据: 显示Response Body 及Response Headers两部分内容。当数据过多时,可通过输入信息搜索,还可以设置区分大小写、正则表达式。
2、RegExp Tester
当需要从上一个请求的响应结果中获取数据来关联到下一个请求,且通过正则表达式提取器来实现。可以选择该显示格式,输入正则表达式,点击Test,测试正则表达式是否正确。
3、边界提取器测试 (Boundary Extractor Tester)
当需要从上一个请求的响应结果中获取数据来关联到下一个请求,且通过边界提取器来实现。可以选择该显示格式,输入左边界,右边界,点击Test,验证是否正确。
4、CSS选择器测试(CSS Selector Tester)
通过css/jQuery提取器来实现关联时,查看结果可以选择CSS Selector Tester格式。可根据JSoup或Jodd对响应数据进行过滤和查看。验证css/jQuery提取器设置有无问题。
5、JSON Path Tester
上一个请求的返回结果是json格式,通过JSON提取器来实现关联时,查看结果可以选择JSON Path Tester格式。在JSON Path Expression输入JSON表达式,点击Test验证,验证是否正常获取到所需内容。
6、JSON
返回结果是json数据格式的,可选择JSON视图,将显示树状风格的响应结果(也处理嵌入JavaScript的JSON)。跟默认的text相比展示更直观。结果可输入信息查找,还可以设置区分大小写、正则表达式。
3.7聚合报告
3.7.1 创建步骤
右键线程组-> 添加-> 监听器-> 聚合报告
3.7.2 功能介绍
最小值:最小响应时间
最大值:最大响应时间
异常值:指请求会出现断开或连接异常的比例
TPS(吞吐量):指每秒可处理多少请求,如120/sec,即每秒可处理120个网络请求.
平均值:指所有请求响应时间总和的平均值
99%:指有99%的请求在此范围之下,如354ms / 99%,即有99%的请求在354ms之前就完成了响应
3.8计数器
3.8.1 创建步骤
右键线程组-> 添加-> 配置元件-> 计数器
3.8.2 功能介绍
添加该元件并在线程组中使用相关变量名称后,则该计数器自动启动
Starting value:起始值
递增:每次计数增加多少
Maximum value:最大值,默认为2的63次幂
数字格式:默认为0,1,2,3 如改为00,则计数为001,002,003
引用名称:现成组中所用的变量名称 如${count}
3.9正则表达式提取器
3.9.1 创建步骤
右键线程组-> 添加-> 后置处理器-> 正则表达式提取器
3.9.2 功能介绍
引用名称: 线程组中使用的变量名称,如${getId}
正则表达式: 正则表达式匹配规则
模板: 表示解析到的第几个值
匹配数字: 如果表达式匹配到多个目标,取第几个,一般填 1,就行了
缺省值: 默认值, 如果参数没有取得到值,那默认给一个值让它取
3.10 BeanShell后置处理程序
3.10.1 创建步骤
右键线程组-> 添加-> 后置处理器-> BeanShell PostProcessor(BeanShell后置处理程序)
3.10.2 功能介绍
BeanShellPostProcessor可以使用Java进行逻辑判断提取更多复杂的值
本元件支持基本的java编码,如图例则使用了数据流写数据至文件
3.11 CSV数据文件设置
3.11.1 创建步骤
右键线程组-> 添加-> 配置元件-> CSV Data Set Config (CSV数据文件设置)
3.11.2 功能介绍
文件名: 文件名称
文件编码: utf-8 utf-16 等
变量名称: 指在线程组中的引用. 如id
忽略首行: 忽略CSV文件的第一行, 因为有的自动生成的CSV文件第一行是无数据的
四.实战详解
在进行以下实战操作时,默认您已阅读 三.功能说明及名词解释, 对基本功能与组件的使用有了一定了解!
1.简单的http请求
进行较为简单的网络请求操作
线程组样例:
1.1新建 线程组
1.2新增 取样器- HTTP请求
用于进行网络请求操作
根据具体的API要求,填入对应的 协议类型 与 服务器名称
1.3新增 配置元件-察看结果树
用于查看请求结果
请求成功则为绿色,反之为红色
1.4新增 配置元件-聚合报告
用于查看性能是否符合测试标准
1.5点击 运行 ,即可查看结果
2.自定义用户变量
方便参数复用,如网络IP地址,用户ID等等
线程组样例:
2.1新增 线程组内用户定义变量
2.2Http请求中使用
2.3使用过程同 1.简单的http请求 一致
3.提取请求数据,并存入文件中
-使用场景: 批量新增,批量查询
-所需组件: [正则表达式提取器->BeanShell 后置处理程序]
-注意点: 文字编码utf-8
线程组样例:
3.1新建 线程组
3.2新增 HTTP请求
用于进行网络请求操作
3.3添加监听器 察看结果树
用于查看请求结果
3.4添加监听器 聚合报告
用于查看性能是否符合测试标准
3.5新增 计数器
设置方法按实际需求来具体调整数值
3.6新增 正则表达式提取器.
根据实际需求填写相关 正则表达式与线程组引用名称
3.7新增 BeanShell后置处理程序
根据实际需求填写下方的Java编码,如图例中为 保存符合条件的返回值至CSV文件
3.8运行程序
运行后,会在您填写的路径下自动生成一份CSV数据文件,里面包含您刚通过HTTP请求匹配到的数据
须知:如果您再次点击运行,则新的Http请求会继续在源文件(test.csv)中填值,而非重新创建一份同名文件
4.使用CSV文件,读取数据
-使用场景: 批量编辑,批量删除
-所需组件: [CSV 数据文件设置]
线程组样例:
4.1新建 线程组4.2新增 HTTP请求
用于进行网络请求操作
CSV数据文件设置 中定义的变量名称在此使用
4.3添加监听器 察看结果树
用于查看请求结果
4.4添加监听器 聚合报告
用于查看性能是否符合测试标准
4.5新增 计数器
设置方法按实际需求来具体调整数值
4.6添加配置元件 CSV数据文件设置
注意: 1.运行前请手动打开文件,查看文件首行是否为空,如下图CSV文件首行 为空,则选择 忽略首行 选择True,反之为false
2.文件编码,如csv文件中无中文字符,则为空即可,反之选择合适的编码格式
3.变量名称, 自行定义,用于Http请求中的请求体引用,见图三
不积跬步无以至千里!