Jmeter使用总结
1.通过beanshell取样器,获取测试用例的行数
import java.io.BufferedReader; import java.io.FileReader; BufferedReader br=new BufferedReader(new FileReader("C:\\Users\\user\\Desktop\\test.txt")); String tmpStr=""; int rowNum=0; while(tmeStr=br.readLine()!=null){ rowNum++; } log.info("-----------------CSV文件行数:--------"+rowNum+"-------------------"); String sRowNum=String.valueOf(rowNum); vars.put("userRow",sRowNum);//将java变量sRowNum的值保存到jmeter变量userRow中
2.通过beanshell取样器,设置全局变量
${__setProperty(newuserRow,${userRow},)}
3.使用全局变量,在需要的地方输入:${__P(newuserRow,)}即可
4.CSV Data Set Config设置中,file encoding设为utf-8,txt格式的文件保存为ANSI格式,也可以正常读取,中文不乱码 。
读取csv格式的文件(csv格式文件必须通过excel另存为生成),file encoding设为gb2312,delimiter设为逗号(,)

5.多个条件组合断言,通过beanshell断言实现
String errorinfo = vars.get("errorinfo");//beanshell取得jmeter变量的值
String oscid = vars.get("oscid");
String res = vars.get("assertinfo");
log.info("--错误信息--"+errorinfo+"----");
log.info("---oscid="+oscid+"-----");
log.info("---配置信息="+res+"-----");
if (errorinfo.equals(res) || (oscid!=null && res.equals("suc")) )
{
log.info("11111111");
Failure=false;
}
else{
log.info("222222");
Failure=true;
FailureMessage="test error";
}
6.正则表达式提取器,有多个返回值:模板写法,$1$$2$ 匹配数字1或2
7.xpath提取器,如果内容是html格式,应勾选“use tidy”和“quiet”
xpath举例://title
//a[text()="xinwen"]
//input/@value
//a/text()匹配所有text()的a链接

8.jmeter连接mysql:
测试计划中添加jar包mysql-connector-java-5.1.13-bin.jar
jdbc连接配置如下:


通过beanshell获得查询结果
size=vars.getObject("resultObject").size();//resultObject是请求中设置结果变量
log.info(size+"");
for (i=0;i<size;i++)
{
var data=vars.getObject("resultObject").get(i)
log.info(data.get("id"+""));//id为表的列名
}
浙公网安备 33010602011771号