0

我想使用 Jmeter 使用 http post 更新 solr 上的文档。我希望它在每次迭代中更新一个不同的文件,创建一个适当的 http post 请求并监视来自服务器的响应。

有人可以指导我如何做到这一点:

  1. 每次取一个不同的文件。
  2. 从中创建一个 http 帖子。
4

1 回答 1

2

您的用例可以分为两部分:

  1. 获取要发送的文件列表
  2. 将它们发送到服务器

关于第 1 点,我建议通过脚本获取文件列表。

假设以下测试计划结构:

添加一个线程组(所有默认值)添加一个 JSR223 采样器作为线程组的子级选择“beanshell”作为语言在“脚本”区域中添加以下代码:

File folder = new File("PATH TO FOLDER WITH YOUR FILES");
File [] files2send = folder.listFiles();

int counter = 1;

for (File file : files2send)

{

    vars.put("FILE_" + counter, file.getPath());

 counter++;

}

这将保存文件,您将作为 JMeter 变量发送,例如:

FILE_1=d:\2solr\sometxtfile.txt
FILE_2=d:\2solr\somewordfile.docx
FILE_3=d:\2solr\someexcelfile.xlsx

之后,您可以使用 For Each Controller 遍历文件并将它们添加到您的请求中

添加为每个控制器作为线程组的子级(与 JSR223 采样器相同级别)

确保 For Each Controller 具有以下配置:

  1. 输入变量前缀:FILE
  2. 输出变量名:CURRENTFILE
  3. 在检查号码之前添加 _

添加 HTTP 请求作为For Each Controller的子节点

在 HTTP 请求的“使用请求发送文件”节中访问要作为 ${CURRENTFILE} 发送的文件

这只是其中一种方法,如果您对 JSR233 或 Beanshell 不太满意,您可能希望使用CSV Data Set Config代替。

于 2013-10-28T08:53:25.703 回答