目前测试系统的输出格式为json。
作为测试的一部分,我需要从json记录中提取并验证两个值。
这两个值都有各自的标识符,但不会出现在记录的同一部分,因此我不能只抓取一个长字符串。
两种情况下信息格式均为:
"identifier1": [{"identifier2":"idname","values":["bit_I_want!]}]
在我想要的位的情况下,这可以是单个引用值(例如“12345”)或多个引用值(例如“12345”,“23456”,“98765”)。
在这两种情况下,我只对验证整个字符串值感兴趣,而不是验证集合中的单个值。
任何人都可以推荐Jmeter中哪种提取器最适合实现这一目标吗?
非常感谢!
答案 0 :(得分:1)
最明显的选择似乎是JSON Path Assertion(可通过JMeter Plugins获得),它不仅允许执行任意JSON查询,而且基于实际和预期的结果匹配有条件地使采样器失败。
安装JMeter插件并使其保持最新的推荐方法是使用JMeter Plugins Manager
答案 1 :(得分:0)
JMeter 3.1附带JSON Extractor来解析JSON响应。你可以使用这个表达式$.identifier1[0].values
作为提取values
。
如果您的JSON响应变得简单,请始终如您的问题中所示,您也可以使用正则表达式提取器。优点是它比JSON提取器更快。正则表达式为"values":\[(.*?)\]
参考:http://www.testautomationguru.com/jmeter-response-data-extractors-comparison/