Jmeter统计返回值数量



         在测试过程中遇到一个需求,一个抽奖接口,可能返回四种抽奖结果,一二三四等奖,没有不中奖的,对奖项设置中奖率。

要测试中奖率就要知道每个请求返回的中奖结果,并进行累加。

     工具使用的jmeter,首先想到的是Beanshell,开始由于不知道怎么设置全局变量,自己定义的变量每次都被重新初始化了,后来发现jmeter有属性变量


a) props.get("key");  

b) props.put("key","value");


比如我把一等奖中奖个数初始值设为0,props.put("topone","0");

然后用正则表达式获取服务端的返回值,将正则表达式提取器获取的结果做判断,如果是一等奖那么topone+1,然后再次保存到props.put("topone",topone+1)

最后获取到的props即为要获取的值。


//运行前执行初始化,初始化后要注释掉
props.put("code",0);
props.put("xj",0);
props.put("zj",0);
props.put("dj",0);
props.put("jsj",0);


//使用正则表达式提取返回值
String value = vars.get("levelName");

System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
//System.out.println("zhang:"+value);




//调试变量值获取是否正常
int x = props.get("code");
int xxj = props.get("xj");
int xdj = props.get("dj");
int xjsj = props.get("jsj");

System.out.println("x="+x);
System.out.println("xxj="+xxj);
System.out.println("xdj="+xdj);
System.out.println("xjsj="+xjsj);

//对正则表达式提取的返回值进行判断
if(value.equals("中吉")){

  props.put("code",x+1);
  System.out.println("======");
  }
System.out.println(props.get("code"));

if(value.equals("小吉")){

  props.put("xj",xxj+1);
  System.out.println("======");
  }
System.out.println(props.get("xj"));

if(value.equals("大吉")){

  props.put("dj",xdj+1);
  System.out.println("======");
  }
System.out.println(props.get("dj"));


if(value.equals("吉上吉")){

  props.put("jsj",xjsj+1);
  System.out.println("======");
  }
System.out.println(props.get("jsj"));


     

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值