Jmeter学习
-
一、Jmeter介绍
Apche公司使用Java开发的一款测试工具,用于接口测试、性能测试、压力测试、数据库测试、Java程序测试。支持多协议,开源免费、轻量级且功能强大。但是不能去验证js程序。
-
二、Jmeter安装
jmeter是一个100%的Java应用程序,应该在任何具有兼容Java实现的系统上正确运行。
需求:最新版的jmeter需要jdk11版本及以上
配置jmeter环境变量
-
三、GUI界面使用
3.1界面元件
3.1.1配置元件
http请求默认值:被复用的内容的封装
http信息头管理器:post请求等需要设置字符集、字符类型
用户自定义的变量:http请求路径重复的部分可以自定义。使用方式:${定义的名称}
CSV数据文件设置:逗号分割值,是一种简明且常见的数据存储格式
使用方式:1.准备csv数据
2.配置变量名称
3.消息体数据的value值为${变量名}
4.线程组勾选 永远
3.1.2前置处理器
用户参数:http请求——右击添加——前置处理器——用户参数
使用方式:1.准备数据
- 配置变量名称和变量值
- 消息体数据的value值为${变量名}
- 线程组中,线程个数为用户(添加数据条数)个数
3.1.3函数
_counter:为true时每个用户都有自己的计数器,为false时,为全局计数器
_random:随机数函数
_time:获取当前时间
_setproperty:跨线程关联
_property:获取变量
3.1.4断言
响应断言:一般做的包含 相对即可 断言状态码和响应体
大小断言:判断响应内容的字节长度
断言持续时间:判断响应时间
3.1.5逻辑控制器
If控制器:
右击线程组——逻辑控制器——if控制器——http请求放到if控制器下方才生效
语法规则:””==””
Foreach控制器
操作步骤:
1.先设置用户自定义变量
2.配置foreach控制器
3.调用变量
4.查看结果树(执行三次)
循环控制器:单独控制某个请求请求调用多少次
3.1.6关联
Xpath提取器:将上一次的请求结果中所需要的内容拿到,用于下面请求的条件
匹配数字:-1代表全部 123456等代表第几个含有标签的
缺省值:没有搜到内容时候,就使用缺省值进行接下来的请求
正则表达提取器
跨线程组关联
设置全局变量
函数_setProperTy
Beanshell取样器
获取全局变量
函数_property
3.1.7定时器
同步定时器(高并发)
常量吞吐量定时器(高频率)
3.1.8监听器
查看结果数
聚合报告
3.1.9图形化测试报告
在jmeter安装的bin目录下运行黑窗口
jmeter -n -t 脚本文件 -l 日志文件 -e -o 目录
Jmeter -n -t 高性能测试.jmx -l a.txt -e -o ./a
-n 无图形化运行
-t 被运行的脚本
-l 将运行的信息写入日子文件
-e 生成测试报告
-o 指定报告输出目录
3.2基本步骤
第一步:ctrl+s先保存jmx,养成好习惯
第二步:右击测试计划,添加——线程——线程组
设置好线程数等配置
setUp线程组:最优执行的线程组
tearDown线程组:最后执行的线程组
线程数:模拟的用户个数
Ramp-up时间(秒):程序准备时间
循环次数:
调度器:调度器配置-持续时间-启动延时
第三步:右击线程组,添加——取样器——HTTP请求
选择协议 填写IP 端口 请求路径
第四步:右击线程组,添加——监听器——查看结果树
第五步:点击开始按钮,查看结果数
3.3数据库测试
第一步:添加与数据库版本一致的jar包
下载地址:
第二步:添加配置元件连接数据库
第三步:线程组添加jdbc Request
第四步:简单查询语言测试
第五步:查看结果树