2024年5月4日发(作者:)

jmeter从 多层返回结果中提取指定字段,并存储到文件中

在 JMeter 中从多层返回结果中提取指定字段并存储到文件中,

你可以使用以下步骤:

1. 在你的测试计划中添加一个请求,并确保其返回结果中包含

你要提取的字段。可以通过添加一个"查看结果树"监听器来验

证响应结果。

2. 在查看结果树监听器下方,添加一个"正则表达式提取器"。

3. 在"正则表达式提取器"中,配置以下属性:

- "参考名称":指定一个变量名,用于存储提取的字段值。

- "正则表达式":编写正则表达式以匹配你要提取的字段。

你可以使用在线正则表达式测试网站来验证你的正则表达式。

- "模板":指定提取的字段的模板。例如,如果你要提取的

是一个 JSON 字段,可以使用`$1$`作为模板。

- "匹配编号":指定要提取的字段在正则表达式中的匹配编

号。

4. 添加一个"聚合报告"监听器,以显示提取的字段值,并验证

它们是否正确提取。

5. 添加一个"结果文件保存器"监听器。

6. 配置"结果文件保存器"的属性,指定保存到的文件名及路径,

例如:`/path/to/save/`。

7. 在"结果文件保存器"监听器上右键单击,并选择"添加->前

置处理器->BeanShell前置处理器"。

8. 在"BeanShell前置处理器"中,编写以下代码来将提取的字

段值存储到文件中:

```

import rver;

import iter;

import riter;

String extractedValue = ("变量名"); // 使用你在"正则表

达式提取器"中配置的变量名

String filePath = eServer().getBaseDir() +

"/path/to/save/";

FileWriter fileWriter = new FileWriter(filePath, true);

PrintWriter printWriter = new PrintWriter(fileWriter);

n(extractedValue);

();

();

```

确保将`变量名`替换为你在"正则表达式提取器"中配置的参考

名称。

9. 运行你的测试计划并查看结果文件,你应该可以看到提取的

字段值已被存储到指定的文件中。

注意:以上步骤中,我们使用了 BeanShell 脚本来操作文件。

从 JMeter 3.1 版本开始,建议使用 JSR223 元件替代 BeanShell,

以提高性能。