Jmeter - 在 json 消息上使用的最佳提取器是什么?

Jmeter - What is the best extractor to use on a json message?

当前正在测试输出格式为 json.

的系统

作为测试的一部分,我需要从 json 记录中提取并验证两个值。

这些值都有各自的标识符,但没有出现在记录的同一部分,所以我不能只抓取一个长字符串。

两种情况下信息的松散格式:

"identifier1": [{"identifier2":"idname","values":["bit_I_want!]}]

对于我想要的位,这可以是单引号值(例如“12345”)或多引号值(例如“12345”、“23456”、“98765”)。

在这两种情况下,我只对验证整个值字符串感兴趣,而不是集合中的单个值。

任何人都可以推荐 Jmeter 中的各种提取器中的哪一个最适合实现此目的?

非常感谢!

JMeter 3.1 附带 JSON Extractor 来解析 JSON 响应。你可以使用这个表达式 $.identifier1[0].values 作为提取 values.

的 JSON 路径

如果您的 JSON 响应总是如您的问题所示那样简单,您也可以使用正则表达式提取器。优点是它比 JSON 提取器更快。正则表达式为 "values":\[(.*?)\]

参考:http://www.testautomationguru.com/jmeter-response-data-extractors-comparison/

最明显的选择似乎是 JSON Path Assertion (available via JMeter Plugins),它不仅允许执行任意 JSON 查询,还允许根据实际和预期结果匹配有条件地使采样器失败。

安装 JMeter 插件并保留它们 up-to-date 的推荐方法是使用 JMeter Plugins Manager