JMeter 如何从文件中获取随机行
How to get random row from file in JMeter
我正在寻找如何从 JMeter 中的文件中获取随机行的方法。
如果有任何建议,我将不胜感激。
这应该可以使用 bean shell 控制器。在这里您需要进行一些编程才能实现所需的行为。
有一种简单的方法可以达到预期的结果。
在您的线程组中引入赎金计时器。
计时器将确保线程的随机性。
配置 CSV confit 元素以从文件中读取数据。
确保文件与所有线程共享。
你可以获得一个随机变量
random__Random(1,9)
//syntax: __Random(start,end)
那你就可以拉出来了
File fileInstance = new File("path/yourfile.txt");
readerInstance = new IndexedFileReader(fileInstance);
lines = readerInstance.readLines(randomIdx, randomIdx+1);
readLines 接受开始和结束行号..
但是,如果您使用的是非常小的文件以外的任何文件,并且迭代次数很少,我真的建议您将整个文件读入缓冲区,然后使用随机变量从中提取行
不确定 groovy,也许有更简单的方法,但是例如您可以使用 Beanshell Sampler 使用以下代码:
import org.apache.commons.io.FileUtils; //necessary import
List lines = FileUtils.readLines(new File("/path/to/your/file")); // read file into lines array
int random = new Random().nextInt(lines.size()); // get random line number
String randomLine = lines.get(random); // get random line
vars.put("randomLine", randomLine); // store the random line into ${randomLine} variable
- 用你想要随机行的文件的相对或绝对路径替换
/path/to/your/file
- 您将能够在需要时以
${randomLine}
的身份访问随机行
有关在 JMeter 测试中使用 JMeter 和 Java 来自 Beanshell 测试元素的 API 的更多信息,请参阅 How to Use BeanShell: JMeter's Favorite Built-in Component 指南
N.B。上面的代码也是有效的 groovy 代码也是
您还可以使用 Blazemeter 的 Random CSV Data Set Config Plugin Jmeter 插件。在传统的 JMeters CSV 数据集配置之上,它具有普通用户想要的所有随机化。
我正在寻找如何从 JMeter 中的文件中获取随机行的方法。 如果有任何建议,我将不胜感激。
这应该可以使用 bean shell 控制器。在这里您需要进行一些编程才能实现所需的行为。
有一种简单的方法可以达到预期的结果。 在您的线程组中引入赎金计时器。 计时器将确保线程的随机性。 配置 CSV confit 元素以从文件中读取数据。 确保文件与所有线程共享。
你可以获得一个随机变量
random__Random(1,9)
//syntax: __Random(start,end)
那你就可以拉出来了
File fileInstance = new File("path/yourfile.txt");
readerInstance = new IndexedFileReader(fileInstance);
lines = readerInstance.readLines(randomIdx, randomIdx+1);
readLines 接受开始和结束行号..
但是,如果您使用的是非常小的文件以外的任何文件,并且迭代次数很少,我真的建议您将整个文件读入缓冲区,然后使用随机变量从中提取行
不确定 groovy,也许有更简单的方法,但是例如您可以使用 Beanshell Sampler 使用以下代码:
import org.apache.commons.io.FileUtils; //necessary import
List lines = FileUtils.readLines(new File("/path/to/your/file")); // read file into lines array
int random = new Random().nextInt(lines.size()); // get random line number
String randomLine = lines.get(random); // get random line
vars.put("randomLine", randomLine); // store the random line into ${randomLine} variable
- 用你想要随机行的文件的相对或绝对路径替换
/path/to/your/file
- 您将能够在需要时以
${randomLine}
的身份访问随机行
有关在 JMeter 测试中使用 JMeter 和 Java 来自 Beanshell 测试元素的 API 的更多信息,请参阅 How to Use BeanShell: JMeter's Favorite Built-in Component 指南
N.B。上面的代码也是有效的 groovy 代码也是
您还可以使用 Blazemeter 的 Random CSV Data Set Config Plugin Jmeter 插件。在传统的 JMeters CSV 数据集配置之上,它具有普通用户想要的所有随机化。