在JMeter中,我需要从JSON响应中提取一些字段( City , Classification 和 Chain ):
{
"StoreCode": "111243",
"StoreName": "Spencer - Sec 14 Gurgaon",
"Address1": "Gurgaon-Sector-14",
"Address2": "NCR",
"Pin": "110000",
"City": "NCR",
"Classification": "Vol 4",
"Chain": "Spencers",
"Version": "20281",
"VisitType": "Weekly"
}
可以使用正则表达式提取器完成吗?还有其他选择吗?
答案 0 :(得分:1)
如果这条JSON是所有响应 - 使用正则表达式提取器是有意义的。
如果您收到更大或更复杂的结构 - 最好使用插件提供的特殊JSON Path Extractor。您的JSON响应的JSON路径表达式类似于$.City
,$.Chain
等。
有关JSON Path语言和如何安装插件的更多详细信息,请参阅Using the XPath Extractor in JMeter指南的“解析JSON”一章。
答案 1 :(得分:0)
提到的插件很容易。例如,请参阅this。 Here是插件的链接。
我最了解的是流程。在你的jmeter测试中你需要有一个返回数据的httprequest(在这种情况下是json数据)。因此,如果您有一个View Results Tree监听器,那么在运行测试时,您会在Response Data选项卡中看到json。如果您右键单击HttpRequest,则需要数据。 ADD =>后处理器=> jp @ gc - JSON路径提取器。在该提取器内,您可以将其命名为任何名称。
变量名应该是您已在User Defined Variables配置元素中定义的变量名。 JSON路径将以美元符号开头,然后是一个点,然后是您想要从json获取值的键的名称。所以对我来说:$ .logId来自......“logId”的值:4,...在我的json中。它会将数字4存储在我的userdefined变量中。默认值可以设置为你从未见过的东西,如-1或null或false等......
顺便说一下,你用$ {variablename}在测试中引用你的变量。如果放入json及其字符串,请执行“$ {variablename}”。希望它有所帮助。
答案 2 :(得分:0)
借助正则表达式进行查找的方法很多。分享其中之一。
"City": "(.*)",
"Classification": "(.*)",
"Chain": "(.*)",