【问题标题】:Assert status via jsonpath通过 jsonpath 断言状态
【发布时间】:2021-03-16 08:50:51
【问题描述】:

我想添加一个监视器来检测不健康的服务并在这种情况下发送警报。 我公开了一个简单的 REST API - /healthy 它返回一个 JSON 例如{"healthy": true}.

然后我将REST API Monitor 添加到我的site24x7 帐户,将内容检查响应格式设置为JSON,现在我应该提供一个要声明的JSONPath。

在 JSONPath 在线测试器中,当我使用 $.healthy 时,我得到 [true]。 但我想我应该尝试断言该返回值。

使用以下表达式无效

$.(@healthy=='true')
$.[?(@.healthy=='true')]
$[?(@.healthy=='true')]
$?(.healthy=='true')
$.healthy=='[true]'
$.healthy==[true]
$.healthy==['true']

认为我应该使用() 或过滤来评估断言表达式。

如何断言返回健康状态?

在 site24x7 示例中,我看到了 JSONPath 表达式的示例

$..[?(@.overallStatus=='true')]

我无法让它在我的情况下工作

谢谢

【问题讨论】:

    标签: jsonpath site24x7


    【解决方案1】:

    它的文档记录非常差,但我查看了Jayway JsonPath 的示例,最终发现它有效:

    $.[?(@.healthy == true)]
    

    由于您的结构是如此基本,我认为这也可能有效:

    [?(@.healthy == true)]
    

    你可以在https://jsonpath.herokuapp.com/试试看

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多