【发布时间】:2018-04-09 11:58:41
【问题描述】:
我需要在 XML 或 JSON 具有可变数量元素的迭代中动态生成 XML 或 JSON——例如,它可能是书籍。书籍的值来自 CSV 文件。
我创建了一个 CSV 数据配置,它指向带有名为 csvBook 的变量的 CSV 文件。
接下来,在 BeanShell 采样器中,我调用
StringBuffer sb = new StringBuffer("<Order><Books>");
Random rv = new Random();
int size = rv.nextInt(100);
for (int i = 0; i < size; i++) {
sb.append("<Book Name=" + vars.get("csvBook") + "/>");
}
sb.append("</Books></Order>");
问题是当我在一次迭代中运行循环时,我不知道如何从 CSV 文件中获取新值。 vars.get("csvBook") 在同一迭代中返回相同的值。
是否有命令告诉 JMeter 获取下一个 CSV 值(下一行)(同样,在一次迭代中)?
提前致谢。
【问题讨论】:
-
如果你有脚本,IMO 更容易在其中读取 CSV,如下所示:anadea.info/blog/jmeter-reading-csv-with-beanshell 并且只将“最后读取的行”或类似的东西存储为变量,所以下次你阅读下一部分
-
@KirilS -- 谢谢。那行得通。我们将 CSV 文件读入一个 ArrayList。现在,我们希望在线程组中的所有线程之间共享该 ArrayList,因为我们有很多线程(虚拟用户)并且文件很大——例如,400K 行。但是,是的,这种方法有效。
标签: jmeter jmeter-3.2