ATLANTBH JMeter的组件:JSON路径声明(ATLANTBH jmeter-compon

2019-08-01 22:45发布

我试图执行使用JSON断言ATLANTBH JMeter的JSON PATH断言。
不过,我似乎无法写一个正确的表达来从JSON提要以下字段贴在下面:

  1. 123456789
  2. 1009
  3. 一些随机MESSAGE

     {"api": {"status":"Success","callsremaining":36,"version":"xxxx"} ,"result":{"errors":{"123456789":{"code":1009,"error":"SOME RANDOM MESSAGE"}}} } 

在这里有没有人有使用这个JMeter的插件的经验吗?
我知道我可以使用regexBeanshell验证,但我宁愿用这些JSON路径断言。

您可以提供任何帮助将非常感激。

Answer 1:

看起来你可以很容易地断言这两个1009SOME RANDOM MESSAGE使用JSONPath表达式(以JSON路径断言部件),但不知道值123456789 :这不是节点值,但波特的名字,并JSONPath实现这些组件使用似乎没有任何表情让节点名称。

假设你可以轻松地使用断言123456789代替JSON路径抽出与JMeter的标准结合(来自相同的组件集合) Response_Assertion 。

  1. 加入2个JSON路径断言为孩子返回要处理JSON响应采样:

    表达式将是$.result.errors..code$.result.errors..error水涨船高。

  2. 添加JSON路径抽出作为孩子一样取样,提取完整的错误项:

    表达: $.result.errors.
    这将提取{"123456789":{"error":"SOME RANDOM MESSAGE","code":1009}}并保存到尖变量( ${errorKey}

  3. 添加响应断言为孩子一样取样,经过先前添加的JSON路径抽出:

    这将断言键(名称123456789中的值) ${errorKey}变量。


所以,最终的建设可能看起来像

...
YOUR Sampler
    JSON Path Extractor
    JSON Path Assertion
    JSON Path Assertion
    Response Assertion
...


文章来源: ATLANTBH jmeter-components: JSON Path Assertion