我试图执行使用JSON断言ATLANTBH JMeter的JSON PATH断言。
不过,我似乎无法写一个正确的表达来从JSON提要以下字段贴在下面:
- 123456789
- 1009
一些随机MESSAGE
{"api": {"status":"Success","callsremaining":36,"version":"xxxx"} ,"result":{"errors":{"123456789":{"code":1009,"error":"SOME RANDOM MESSAGE"}}} }
在这里有没有人有使用这个JMeter的插件的经验吗?
我知道我可以使用regex
和Beanshell
验证,但我宁愿用这些JSON路径断言。
您可以提供任何帮助将非常感激。
看起来你可以很容易地断言这两个1009
和SOME RANDOM MESSAGE
使用JSONPath表达式(以JSON路径断言部件),但不知道值123456789
:这不是节点值,但波特的名字,并JSONPath实现这些组件使用似乎没有任何表情让节点名称。
假设你可以轻松地使用断言123456789
代替JSON路径抽出与JMeter的标准结合(来自相同的组件集合) Response_Assertion 。
加入2个JSON路径断言为孩子返回要处理JSON响应采样:
表达式将是$.result.errors..code
和$.result.errors..error
水涨船高。
添加JSON路径抽出作为孩子一样取样,提取完整的错误项:
表达: $.result.errors.
。
这将提取{"123456789":{"error":"SOME RANDOM MESSAGE","code":1009}}
并保存到尖变量( ${errorKey}
添加响应断言为孩子一样取样,经过先前添加的JSON路径抽出:
这将断言键(名称123456789
中的值) ${errorKey}
变量。
所以,最终的建设可能看起来像
...
YOUR Sampler
JSON Path Extractor
JSON Path Assertion
JSON Path Assertion
Response Assertion
...