注意: jmeter必须要有jdk环境,如果没有,先安装jdk
JMETER_HOME,变量为jmeter解压目录,eg:F:\solf_ware\apache-jmeter-5.5%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar; %JMETER_HOME%\lib\jorphan.jar;;%JMETER_HOME%\bin系统环境变量而不是用户环境变量,cmd执行时必须是管理员下载完Plugins Manager后,把它放到jmeter解压目录的lib\etc下,插件都是放这个目录,然后重新打开jmeter,可以看到选项——>Plugins Manager,再点击Available Plugins就是搜索插件选项就可以搜索下载插件

打开bin/jmeter.properties
language=zh_CN
这里我的win10只有方法一有效
方法一
#这个是修改的字体初始倍数,但貌似要点击一次放大或缩小才起作用
jmeter.hidpi.mode=true
jmeter.hidpi.scale.factor=1.6
方法二
jsyntaxtextarea.font.family=Hack #默认就是Hack
jsyntaxtextarea.font.size=32 #默认=14
jmeter.toolbar.icons.size=32x32 #图标比率,默认是22x22,可用19x19、24x24、32x32、48x48
jmeter.tree.icons.size=32x32
方法三
打开bin--->jmeter.bat-->编辑在@echo of下添加并保存:
set JVM_ARGS=%JVM_ARGS% -Dswing.plaf.metal.controlFont=Dialog-30
set JVM_ARGS=%JVM_ARGS% -Dswing.plaf.metal.systemFont=Dialog-30
set JVM_ARGS=%JVM_ARGS% -Dswing.plaf.metal.userFont=SansSerif-30
set JVM_ARGS=%JVM_ARGS% -Dswing.plaf.metal.smallFont=SansSerif-30
windows下在bin/jmeter.bat文件里面修改
set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m

linux在bin/jmeter修改
${HEAP:="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m"}

设置bin\jmeter.properties的这个值
sampleresult.default.encoding=UTF-8
注意: 图形界面只能创建测试计划,如果要压测,必须使用命令的形式运行测试计划脚本。
右键测试计划,添加线程组
这里我们添加一个简单的http测试,…未完待续
配置元件,如:用户自定义变量和http请求默认值来设置请求ip和port;HTTP请求头设置header;CSV data set config 来获取csv形式的大批量参数;函数助手来生成函数,以获取需要生成的请求参数前置处理器或后置处理器来对请求参数或请求结果进行处理逻辑控制器,来完成多个请求之间的联调,比如:if控制器获取上一个接口请求结果,来判断是否请求另一个接口;事务控制器发起同一个事务请求取样器来增加测试请求内容,如http请求断言来判定请求是否成功,如响应断言、json断言。定时器来完成各种延时的操作监听器来记录并分析请求结果,要注意的是,图表类监听器最好只用在创建\debug测试计划时,不能用于压测。**注意:**这里直接点击保存按钮是是没有用的,必须选择文件选项中的保存,否则后面也将无法再打开该测试计划
注意:
HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m"-l指定jtl文件,应该使用命令来分析测试结果的jtl文件生成结果报告,否则会影响性能,只要你安装了tps之类的插件,命令生成的网页报告都会有这些内容,不需要再用GUI界面查看 jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
# 中文解析:
jmeter -n -t 要运行的测试计划文件.jmx -l 测试结果保存路径.jtl -e -o web报告保存路径。
# 注意的是,生成html分析文件不应该一起执行,会消耗性能,这里加上只是演示而已
# 运行测试计划命令
jmeter -n -t 要运行的测试计划文件.jmx -l 测试结果保存路径.jtl
# 运行测试计划后,使用命令分析jtl文件以生成html图表报告。
jmeter -g 测试结果保存路径.jtl -e -o web报告保存路径。
说明:
-n非图形界面运行-t 指定要执行的测试计划文件-l指定结果文件jtl之类的存储路径-e -o 指定web报告保存路径。-g 指定JTL文件的相对路径或完整路径函数列表
// 代码使用vars
//string类型,
vars.put("error_info1", error_info);
vars.get("error_info1");
//其他object类型:list、数组、Map
vars.putObjcet("flag", list);
vars.getObjcet("flag", list);
//如果要在其他窗口调用参数:BeanShell 函数
// 使用函数 ${__BeanShell( vars.getObjcet("flag"), )}
log.info("")
获取前一个sample的响应;
prev.getResponseDataAsString()
prev.getResponseCode()
props.containsKey(``"PROPERTY_NAME"``)
props.contains("PROPERTY_VALUE")
props.remove("PROPERTY_NAME")
props.toString()
**注意:**如果要使用jmeter没有的包,必须把jar包放入lib/目录,如:fastjson
//获取获取请求的返回值
String response = prev.getResponseDataAsString();
//日志打印获取请求的返回值
//log.info(response);
vars.put("cert_sign", response)
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
//获取获取请求的返回值
String json = prev.getResponseDataAsString();
JSONObject jso = JSON.parseObject(json);
String error_info = jso.getString("error_info");
//string类型,
vars.put("error_info1", error_info);
vars.get("error_info1");
//其他object类型
vars.putObjcet("flag", true);
vars.getObjcet("flag", true);
//如果要在其他窗口调用参数:
// 使用函数 ${__BeanShell( vars.getObjcet("flag"), )}