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为表的列名
}

猜你喜欢

转载自www.cnblogs.com/itrain/p/9008154.html
今日推荐