安装
下载
下载地址:添加链接描述
解压
tar -zxvf apache-jmeter-xxx.tgz -C /other
附选项解:
-z:通过gzip指令处理备份文件
-x:从备份文件中还原文件
-v:显示指令执行过程
-f:指定备份文件
-C:切换到指定的目录
配置环境变量
vi /etc/profile
在文件底部添加如下配置(软件路径写自己的)
export JMETER_HOME=/usr/local/apache-jmeter-5.5
export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATH
export PATH=$JMETER_HOME/bin:$PATH
使配置文件更新的内容立即生效
source /etc/profile
检测安装是否成功
jmeter -v
启动
在终端输入 jmeter
jmeter基本使用
测试计划
常用:
1.独立运行每个线程组
2.第三方包的引用
___
线程组
** jp@gc - Stepping Thread Group**
使用场景:基准测试,负载测试,压力测试
1.this group will start 表示:共运行多少个线程
2.first,wait for 表示:等待多少分钟后运行线程
3.then start 表示:开始运行多少线程组
4.next,add 运行过程中 一次加载多少线程组
5.threads every xx second 表示:完成一次线程数加载后,运行多长时间
6.using ramp-up 表示:完成加载一次线程数所使用的时间
7. then hold load for 表示:所有线程组加载完后,运行多长时间
8. finally, stop 表示:最终结束多少线程组
9. threads every xxx sconds: 结束每个线程需要花费的时间
** jp@gc - Ultimate Thread Group**
使用场景:浪涌测试
1.start threads count : 需要加载的线程数
2.initail delay, sec :加载线程前等待的时间
3.startup time, sec : 启动所有线程需要的时间
4. Hold load for, sec : 运行线程需要的时间
5. shutdown time: 结束线程组需要的时间
附:插件安装
网址:https://jmeter-plugins.org/install/Install/
控制器
1.仅一次控制器: 所有线程仅发一次请求,例: 线程组设置5个线程数,那么控制器下的接口只请求5次
2.事务控制器:把控制器内的所有请求生成一个事务
3.吞吐量控制器
4.模块控制器
参数化
随机字符串函数
随机数函数
随机日期函数
文件参数化
思考时间
作用:为了更真实模拟用户操作
固定定时器
统一随机定时器
统一随机定时器的总延时 = 固定延迟时间 + 随机生成的延迟时间
高斯随机定时器
高斯随机定时器的总延时 = 固定延迟时间 + 上下偏移时间
集合点
同步定时器
作用:等待一定数量的线程,同步并发
要点:
1.设置线程数不要大于线程组总数
2.当集合线程数不足时,需要超时时间
JDBC
作用:
1.去后台数据进行参数化
2.构造测试数据
3.测试sql语句的性能
JDBC配置
方法一: 把jar包放入jmeter 的 lib目录下,重启jmeter
方法二:在测试计划下方引用jar包
JDBC链接配置
JDBC Request
1.查询
2.插入
3.删除
4. 参数选项和参数类型选项的使用
beanshell 基本使用
常用方法
// 获取局部变量并赋值
String data= vars.get(“data”);
// 设置局部变量
vars.put(“data”,data)
// 获取上一个接口的返回对象
prev.getResponseDataAsString();
// 获取上一个接口的状态码
prev.getResponseCode();
// 设置全局变量
props.put(“data”,data);
// 获取全局变量
props.get(“data”);
java 文件引入
source(“route”)
statement variable = new class.func(parameter,parameter);
jar 文件引入
import package.class
statement variable = new class.func(parameter,parameter);