美文网首页
JMeter 读取 CSV 文件数据行数

JMeter 读取 CSV 文件数据行数

作者: 奶茶哥_lnc | 来源:发表于2018-09-13 20:59 被阅读0次

    在用 JMeter 做测试时,经常需要调用外部 CSV 文件的数据到脚本中使用,如果我们想对 CSV 文件中数据的行数进行统计,这个怎么做呢?

    针对上面表格的数据,我们一起来学习一下如何统计数据行数吧。

    首先创建一个线程组,在线程组下添加一个仅一次控制器,为什么添加这个控制器呢?一般我们只需要对表格数据行数进行统计一次就行。

    接着在控制器下添加一个前置处理器 BeanShell PreProcessor ,然后在里面编写统计数据行数的 Script 脚本。

    Script 脚本代码贴一下:

    import java.io.BufferedReader;
    import java.io.FileReader;
    BufferedReader br=new BufferedReader(new FileReader("..\\data\\心知天气.csv"));
    String tmpStr="";
    int rowCount=0;
    while(tmeStr=br.readLine()!=null){
        rowCount++;
    }
    vars.put("rowCount",String.valueOf(rowCount));
    log.info("CSV文件行数:"+rowCount);
    

    上面圈出来的脚本中,第3行后面那个括号内是数据文件的路径,这个路径可以是绝对路径,也可以是相对路径,笔者这里写的是相对路径,大家需要根据自己的实际情况编写。最终统计到的数据行数会存到 rowCount 变量里面,在其他地方想用这个行数值时只需要调用 rowCount 变量即可。

    到这里, BeanShell PreProcessor 部分的内容已经配置完成。但还缺一样东西,我们知道这个是取样器的前置处理器,可是现在没有取样器去触发这个前置处理器,所以我们要在控制器下添加一个取样器,这里添加一个调试使用的 java 请求 取样器。

    为了看效果,我们在线程组下添加一个 java 请求 取样器和 察看结果树 监听器,另外在这个 java 请求 名称后面加上调用 rowCount 变量。

    接下来运行一下脚本。

    从上图可以看到 CSV 文件中的数据行数已经统计完成而且被调用到了。

    这里统计的是表格里面所有数据的行数,但从最开始的表格内容可以看到第一行是标题,如果我们只想统计非标题数据的行数又应该如何写呢?

    比较简单,在第8行 Script 脚本后面加一行 rowCount=rowCount-1; 即可。

    再次运行一次脚本。

    非标题数据的行数已经统计到了。

    以上就是 JMeter 读取 CSV 文件数据行数的方法,希望对大家有帮助。

    相关文章

      网友评论

          本文标题:JMeter 读取 CSV 文件数据行数

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