Phi*_*ban 7 json jmeter jsonpath jmeter-plugins
我正在尝试使用ATLANTBH jmeter JSON PATH Assertion 执行JSON断言.
但是我似乎无法写一个正确的表达式来从下面发布的JSON提要中获取以下字段:
一些随机的消息
{"api": {"status":"Success","callsremaining":36,"version":"x.x.x.x"}
,"result":{"errors":{"123456789":{"code":1009,"error":"SOME RANDOM MESSAGE"}}}
}
Run Code Online (Sandbox Code Playgroud)有没有人在这里有使用这个JMeter插件的经验?
我知道我可以使用regex和Beanshell验证,但我宁愿使用这些JSON Path Assertion.
您可以提供的任何帮助将非常感激.
看起来您可以使用 JSONPath 表达式(在 JSON Path Assertion 组件中)轻松断言1009和SOME RANDOM MESSAGE值,但不确定123456789:这不是节点值,而是 bode 名称,并且这些组件使用的 JSONPath 实现似乎没有表达式来获取节点名称。
假设您可以轻松使用断言123456789而不是 JSON Path Extractor(来自同一组件集合)与 jmeter 的标准Response_Assertion的绑定。
将 2 个 JSON 路径断言作为子项添加到采样器,该采样器返回您要处理的 json 响应:


表达式将是$.result.errors..code和$.result.errors..error相应地。
将 JSON Path Extractor 作为子级添加到同一采样器以提取完整的错误条目:

表达:$.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
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3115 次 |
| 最近记录: |