Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space FUNCTDEV and version SVC2023.1

本主题介绍 JSON 断言器工具,它允许您将断言放置在 JSON 消息中的不同元素上。此工具需要验证许可证。

章节目录:

Table of Contents
maxLevel1


Note
title迁移注意事项

在 9.7 版本中重新实现了 JSON 断言器工具。不支持以前版本实现:任何现有工具都将继续工作,但是您添加的所有新的 JSON 断言器都将使用新的实现。

本主题关注当前 JSON 断言器实现。有关已弃用的 JSON 断言器的详情,请参阅 JSON Assertor Deprecated

了解 JSON 断言器

JSON 断言器用于增强 JSON 消息中数据的正确性。  它能够帮助您进一步考虑 JSON 消息中的各个元素,并检查它们是否符合预期。 

JSON 断言器可以链接到任何通信 JSON 消息的工具,它通常与消息传送客户端和 REST 客户端工具连接。

这个工具通常是从 JSON 消息的创建/更新回归控制对话框中添加的(通过选择创建值断言选项)。有关以这种形式添加 JSON 断言器的详情,请查阅Validating the Value of an Individual Response Element



它还可通过添加输出向导添加,如Adding Test Outputs中所述。

配置 JSON 断言器

JSON 断言器由三个主要选项卡组成:

  • 总结:此选项卡包含一个表,显示已配置的 JSON 断言的详细信息。
  • 配置:此选项卡用于创建和配置 JSON 断言。
  • 期望的 JSON:指定预期的 JSON 响应,创建可以从中选择元素的模板。如果 JSON 断言器接收一个有效的 JSON 消息(比如,该消息来自通讯报文或者附加的工具),则此面板将自动被填充。或者,可以将示例消息复制到纯文本或树状选项卡中。注意,默认情况下不会保存预期 JSON;如果要对它进行保存,请启用保存预期的 JSON 选项。

若要配置 JSON 断言器:

  1. 请点击 JSON 断言器配置选项卡中的添加按钮。



    将显示选择断言向导。



  2. 选择一个断言类型。下面是对可用断言类型的简要总结。
    • 值断言:可以使用以下值断言:
      • 值断言:强制执行特定元素的值。
      • 值出现断言:强制具有给定值的元素出现一定数量(例如,Xpath 选择器和所指定值字符串上的文档必须 n 个匹配项)。
      • 数字断言:强制元素的数值。
      • 字符串比较断言:执行给定元素的文本内容的值。
      • 正则表达式断言:强制元素匹配正则表达式(有关支持的正则表达式语法的更多信息,请点击此处)。
      • 表达式断言:执行由元素组成的表达式的值。
      • 自定义断言:通过编写自定义逻辑脚本来强制执行元素的值。
    • 结构断言:可以使用以下结构断言:
      • 出现断言:强制元素出现的次数。
      • 有内容断言:强制元素具有文本内容(即,文本长度> 0)。
      • 有子断言:强制一个元素有一个或多个子元素。
      • 类型断言:强制元素的类型。
    • 复合断言:可以使用以下复合断言:
      • 与断言: 将所有必须成功的多个断言分组。
      • 或断言:在至少一个断言必须成功的地方对多个断言进行分组。
      • 条件断言:只有在满足条件时才强制执行断言(条件是以前定义的断言的组合)。
    • 差异断言:可以使用以下差异断言:
      • 数字差异断言:对特定元素的值强制执行数值差异。断言元素的数值与用户指定的基值之间存在用户指定值的差异。例如,为了断言华氏度的值低于冰点 3 度,可以将基本值设置为 32,差值设置为 -3。
      • 日期差异断言:对特定元素的值强制执行日期差异。
      • 日期时间差异断言:对特定元素的值强制执行日期时间差异。
    • 范围断言:可以使用以下范围断言:
      • 数字范围断言:强制元素的数值位于数值范围的包含范围内。
      • 日期范围断言:对特定元素的值强制使用日期范围。
      • 日期时间范围断言:对特定元素的值强制设置日期时间范围。
  3. 点击下一步按钮。将显示一个树视图。
  4. 从树视图中选择要检查此断言的元素,然后点击完成



    注意,您可以在工具的预期的 JSON 选项卡(如上所述)中编辑此树的结构。

您可以通过点击配置选项卡中的添加按钮,添加附加的断言来应用于消息。

如果以后想指定附加选项(例如,如果想改变列用于存储值的名称,您想要的值保存到一个可写的数据源,或者您想要的值存储到现有的变量)。或者,如果您想修改引用的元素,则请点击配置选项卡底部的修改元素按钮。这将打开一个对话框,允许您图形化或手动编辑给定的元素。 

关于如何使用该对话框来配置其他选项的详情,请参阅 JSON Selector Reference

工具选项


在将提取的字符串与预期文本进行比较之前,修剪内容选项将删除提取字符串的开始和结束部分的任何空格。例如,如果提取了 "  bar "(忽略所有示例中的引号;它们被用来显示空格),它会变成 "bar";如果没有启用修剪内容选项,这将匹配 "bar"(而无法匹配 "  bar ")。

视频教程 

在本视频中,您将学习如何在 JSON 响应中为值添加目标断言。

Vimeo
URLhttps://player.vimeo.com/video/124443278