性能测试中,为了获取特定时段的topn交易数据进行业务模型分析,需要把生产环境的数据一次遍历下来,本文分享beanshell实现交易数据的批量获取:
先是对相关字段使用后置处理器的正则表达式提取器进行正则提取,提取后进行如下操作:
FileWriter fstream = new FileWriter("E:/data.txt",true);
BufferedWriter out = new BufferedWriter(fstream);
//out =new PrintStream(fstream,true,"UTF-8");
for(int i=1;i<=${amount_matchNr};i++){
amount_i="amount_"+i;
codeKey_i="codeKey_"+i;
avgProcTime_i="avgProcTime_"+i;
avgRspTime_i="avgRspTime_"+i;
log.info("交易量为:"+vars.get(codeKey_i));
String amounti=vars.get(amount_i);
String avgProcTimei=vars.get(avgProcTime_i);
String avgRspTimei=vars.get(avgRspTime_i);
String codeKeyi=vars.get(codeKey_i);
out.write("交易码:"+codeKeyi+","+"交易量:"+amounti+","+"平均处理时间:"+avgProcTimei+","+"平均响应时间:"+avgRspTimei+"\t\n");
}
out.close();
fstream.close();
在性能测试session获取场景中,亦可用此方法先保存到本地再参数化,有的系统还有对session进行加密(可参考前面分享的beanshell实现的几种加密算法),同时在服务器的配置文件中修改session过期时长,设置得足够长满足整个测试场景得需要(比如两三天),即可进行测试。
更多内容请关注公众号“测试小号等闲之辈”~