在JMeter中只运行一次大型文件列表(可能是特定顺序)

时间:2012-06-01 23:22:16

标签: jmeter

我正试图通过JMeter运行大约15000个肥皂请求。我在一个文件夹中有15000个单独的soap文件。

我知道WebService(SOAP) Request组件可以选择指向文件夹。

但是,问题是该文件夹中的文件将被拾取并随机运行,文件可以多次运行。

这并不理想,因为每个请求都有唯一的相关ID,如果文件得到两次运行,第二次运行将因重复的相关ID而失败。

无论如何,我可以告诉jmeter只运行一次文件吗?

此外,由于某些soap请求依赖于已经运行的其他请求,因此需要以指定顺序运行这些请求的能力。这可能吗?

这似乎是应该已经解决的常见问题。但是,我在谷歌上找不到多少。

你们有什么想法吗?

2 个答案:

答案 0 :(得分:3)

我会使用the JSR223 Sampler运行脚本(例如Groovy)来遍历目录中的文件,并将每个文件的文本存储在String中。

例如,请参阅this other answer关于使用Groovy脚本迭代值列表。

答案 1 :(得分:1)

您可以将数据放入csv文件并使用CSV数据集配置读取。如果您需要多个线程的唯一值,则必须创建多个文件,每个线程一个。

您还可以将数据放入数据库并使用JDBC Config / Sampler访问它,确保a:在读取数据后删除数据,或b:使用标志将其标记为“read”。这两种方法都会阻止不同线程读取同一条记录两次。

如果您需要按顺序运行请求,您应该按原样构建测试计划,请从上到下依次发出请求。