我想使用 Jmeter 使用 http post 更新 solr 上的文档。我希望它在每次迭代中更新一个不同的文件,创建一个适当的 http post 请求并监视来自服务器的响应。
有人可以指导我如何做到这一点:
- 每次取一个不同的文件。
- 从中创建一个 http 帖子。
我想使用 Jmeter 使用 http post 更新 solr 上的文档。我希望它在每次迭代中更新一个不同的文件,创建一个适当的 http post 请求并监视来自服务器的响应。
有人可以指导我如何做到这一点:
您的用例可以分为两部分:
关于第 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 具有以下配置:
添加 HTTP 请求作为For Each Controller的子节点
在 HTTP 请求的“使用请求发送文件”节中访问要作为 ${CURRENTFILE} 发送的文件
这只是其中一种方法,如果您对 JSR233 或 Beanshell 不太满意,您可能希望使用CSV Data Set Config代替。