jmeter-beanshell及场景设计
1、beanshell三种方式实现加密算法
第一种:需要打jar包,然后在jmeter测试计划中导入jar包,导入很多类名和方法
第二种:引入java文件
source("D:\\jmeter\\src\\MD5.java"); //使用source引入java文件,需要带文件名称
第三种:引入class文件
addClassPath("D:\\jmeter\\src\\MD5.class");//使用addClassPath引入class文件,需要带文件名称
beashell脚本内容可能如下:
beashell 断言
//使用vars.get()方法获取变量的值
String status =vars.get("code");
log.info("code的值:”+ status);
if(status.equals("0")){
Failure =false;
FailureMessage = "成功";
log.info("成功");
}
else{
Failure =true;
FailureMessage = "失败";
log.info("失败");
}
2、对URLcode两种方式实现获取订单的token
第一种处理方法:直接在get里面接参数和编码
第二种方法:调用java算法,完成
String token ="${token}";
String tokenUTF8="";
try{
tokenUTF8 =URLEncoder.encodeZ(token,"UTF-8");
}
catch(UnsupportedEncodingException e)
{
e.pnntStackTrace();
}
vars.put("tokenUTF8",tokenUTF8);
3、jp@gc - Stepping Thread Group和jp@gc - Ultimate Thread Group设计场景
需要先导入插件:
先将jmeter-plugins-manager-1.3.jar文件放到jmeter的lib/ext下面去,然后启动jmeter,点击菜单栏选项--Plugins Manager,选择Available Plugins页签上的jpgc--Standard Set,点击下方的导入按钮,就可以成功过下载了,下载后会自动更新jmeter
1)添加线程组---jp@gc - Stepping Thread Group (deprecated)
测试需求:总线程100个,每隔30秒添加10个,持续运行时间为60秒,最后每一秒停止5个线程
2)添加线程组---jp@gc - Ultimate Thread Group
测试需求:进行波浪形的压力测试场景时,需要是要能够到该线程组,例如:
测试场景总共有10个线程,然后分为三个波浪进行测试
3)测试场景总共有30个线程,然后 分为3次逐渐增加负载,每次增加10个线程
4、设计登录场景,添加tps和响应时间,并运行20分钟
1)线程组添加为jp@gc - Stepping Thread Group (deprecated),且设置持续时间为1200S
2)添加http请求,写post登陆脚本,已经需要添加对应的请求头
3)需要添加监听器jp@gc - Stepping Thread Group (deprecated)和jp@gc - Ultimate Thread Group
4)观察响应时间,如果过高,在服务器中输入top查看响应指标是否过高,如果正常可以查看网络是否异常
5)通过ping服务器的方式查看,是否有丢包,请求超时或者请求明显异常的问题