Jmeter上手过程
1、目录
jmeter.bat windows的启动文件
jmeter.log jmeter运行日志文件
jmeter.sh linux的启动文件
jmeter.properties 系统配置文件
jmeter-server.bat windows分布式测试要用到的服务器配置
jmeters-server linux分布式测试要用的服务器配置
2、流程大概
建立线程组 多少时间增加到多少虚拟用户 循环几次 持续时间设置
http请求 severname不加http 断言
查看结果树
前置 后置
jmeter中添加tps及响应时间插件
https://blog.csdn.net/weixin_39430584/article/details/80947093
3、传参方式
各种变量讲解
https://blog.csdn.net/zha6476003/article/details/80157874
传参方式csv data set config
普通变量 user defined variables 调用时要加${}
4、断言
Pattern Matching Rules:匹配规则。
Contains:上面选中的部分包含下面的正则表达式就算Pass
Matches:上面选中的整个部分匹配下面的正则表达式就算Pass。
Equals:上面选中的整个部分和下面的字符串相等就算Pass。不支持正则表达式,同时对大小写敏感。
Substring:上面选中的部分包含下面的字符串就算Pass。不支持正则表达式,同时对大小写敏感。
Not:勾选上之后,会对前面选择的进行反转。比如Matches + Not 就是不匹配就算Pass。
5、jmeter常用的字符串相关函数
https://www.cnblogs.com/qmfsun/p/5945310.html
6、Beanshell
引入java代码 jar包放到lib目录下
https://blog.csdn.net/hw1932/article/details/77261761?locationNum=4&fps=1
调试beanshell 可以脚本中添加log.info
Beanshell是一种轻量级的java脚本语言。
Beanshell语法简单了解下
http://blog.sina.com.cn/s/blog_15773867b0102vx85.html
https://www.cnblogs.com/qiaoyeye/p/6964530.html
vars.get(String paramStr):获得变量值
vars.put(String key,String value):将数据存到jmeter变量中
The following BeanShell variables are set up for use by the script:
log - (Logger) - can be used to write to the log file
ctx - (JMeterContext) - gives access to the context
vars - (JMeterVariables) - gives read/write access to variables:
vars.get(key);
vars.put(key,val);
vars.putObject("OBJ1",new Object());
props - (JMeterProperties - class java.util.Properties) - e.g. props.get("START.HMS"); props.put("PROP1","1234");
prev - (SampleResult) - gives access to the previous SampleResult
data - (byte [])- gives access to the current sample data
System.out.println(prev.getResponseCode());
System.out.println(prev.getResponseDataAsString());
prev.setResponseCode(
"222"
);
System.out.println(prev.getResponseCode());
prev.setResponseMessage(
"qiaoyeye
你好"
);
System.out.println(prev.getResponseMessage());
prev.setResponseData(
"qiaoyeye
你好"
,
"UTF-8"
);
System.out.println(prev.getResponseDataAsString());
System.out.println(${port});
System.out.println(ctx.getThreadNum());
7、聚合报告配置
aggregate_rpt_pct1=90
aggregate_rpt_pct2=95
aggregate_rpt_pct3=99
If you don't see percentiles like at the above image in your Aggregate Report - add the above lines to user.properties file.