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

作者: Tomandy | 来源:发表于2017-09-15 16:25 被阅读304次

    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调试

    相关文章

      网友评论

        本文标题:Jmeter排忧解难—小技巧的运用

        本文链接:https://www.haomeiwen.com/subject/ozpdsxtx.html