使用Jmeter中的Beanshell预处理查找CSV数据文件的行数

时间:2015-11-11 05:27:41

标签: jmeter

我的要求是我想使用一个ThreadGroup和两个CSV数据文件(数据文件1包含1000个siteurls和数据文件2包含1500个siteurls)我想在达到100和150个siteurls之后停止jmeter测试 创建两个线程组(每个1个线程)并将循环计数分配为1000和1500工作正常我能够在完成一次迭代的数据集后停止测试 但在这里我想实现相同的只有一个5个用户的线程组,我怎么能实现这个....

感谢Adavance ..

1 个答案:

答案 0 :(得分:3)

在Beanshell PreProcessor中使用以下代码:

import org.apache.commons.io.FileUtils; // necessary import

int lines = FileUtils.readLines(new File("/path/to/csv.file")).size(); // get lines count
vars.put("lines", String.valueOf(lines)); // store the count into "lines" variable

它使用FileUtils.readLines()方法将文件内容读入字符串集并获取其大小和JMeterVariables.put()方法,以将提取的值存储到"行"变量。

您可以根据需要访问行数${lines}

有关JMeter中Beanshell脚本的详细信息,有关预定义变量的全面说明以及Beanshell cookbook的一种形式,请参阅How to Use BeanShell: JMeter's Favorite Built-in Component指南。