JMeter排忧解难—小技巧的运用

发表于:2018-1-12 10:36

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Tomandy    来源:简书

  1、当需要遍历csv文件中所有案例数据,可以在【线程组】中设置“线程数”为csv的行数,但这样每次修改csv用例条数后都需要修改脚本,比较麻烦。可以通过以下方法解决:
  
csv data set config
  线程组
  2、当案例数量过大时,在csv data set config 里设置每一列的变量名称时,不方便测试案例的编辑,可通过以下方法解决:
  
csv文件
  csv data set config
  3、Jmeter相对路径的使用
  脚本的迁移让我们不得不考虑使用相对路径,Jmeter的默认路径指向jmeter_home/bin目录,我们一般也不会把所有的jmx脚本放到bin目录下,不便于管理。可以通过以下方法解决:
  
jmeter.bat设置
  
相对路径使用1
  相对路径使用2
  4、xls转换为csv文件
  我们通常使用excel直接打开csv文件来编辑测试案例数据,但是位数过长的字段会被转换为科学计数法,以致数据失真。当然有个比较常见的方法是通过excel的导入数据功能(具体方法自行百度)来解决以上问题,下面跟各位分享一个小技巧,通过xls文件转换为csv文件,后续直接在xls文件编辑测试案例即可;
  
转换方法调用
/*
* xls转换为csv文件
*/
public static void xlsToCsv(String caseName) {
String buffer = "";
try {
String fileName = "..\\TESTCASE_XLS\\"+caseName +".xls";
File file = new File(fileName);
// 设置读文件编码
WorkbookSettings setEncode = new WorkbookSettings();
setEncode.setEncoding("GB2312");
// 从文件流中获取Excel工作区对象(WorkBook)
Workbook wb = Workbook.getWorkbook(file, setEncode);
Sheet sheet = wb.getSheet(0);
for (int i = 0; i < sheet.getRows(); i++) {
for (int j = 0; j < sheet.getColumns(); j++) {
Cell cell = sheet.getCell(j, i);
buffer += cell.getContents().replaceAll("\n", "") + ",";
}
buffer = buffer.substring(0, buffer.lastIndexOf(","))
.toString();
buffer += "\n";
}
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
// write the string into the file
//默认路径:D:\Progrom Files\apache-jmeter-3.1\bin
String savePath = "..\\TESTCASE\\"+caseName +".csv";
File saveCSV = new File(savePath);
try {
if (!saveCSV.exists())
saveCSV.createNewFile();
BufferedWriter writer = new BufferedWriter(new FileWriter(saveCSV));
writer.write(buffer);
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
  5、跨线程组传递变量
  有时候需跨线程组传递变量,可以使用_setProperty和_property/_P函数实现:
 
线程组1定义全局变量
  线程组2引用全局变量
  6、使用Debug Sampler调试
  有些时候需要进行脚本调试,可以使用Debug Sampler。JMeter properties和System properties默认选择false,这两个就是JMeter和系统的属性,一般不会发生变化。JMeter variables是自定义变量;
 
Debug Sampler
  
Debug Sampler调试

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号