本主题涵盖了 JSON 断言器工具以前(9.7 之前)的实现,该工具允许将断言放在 JSON 消息中的不同元素上。不支持以前版本实现:任何现有工具都将继续工作,但是您添加的所有新的 JSON 断言器都将使用新的实现。
有关当前工具实现的更多详情,请查阅 JSON 断言器。
讨论不支持的工具的章节包括:
了解 JSON 断言器
JSON 断言器用于增强 JSON 消息中数据的正确性。它使您能够反省 JSON 消息中的各个元素,并检查它们是否符合预期。
JSON 断言器可以链接到任何通信 JSON 消息的工具,它通常与消息传递客户端和 REST 客户端工具连接。
配置 JSON 断言器
JSON 断言器由三个主要选项卡组成:
- Summary: 此选项卡包含一个表,显示已配置的 JSON 断言的详细信息。
- Configuration: 此选项卡用于创建和配置 JSON 断言。
- Expected JSON: 指定将与所有断言进行比较的预期 JSON 消息。如果 JSON 断言器接收到有效的 JSON 消息(即附加到 REST 客户端),这个面板将自动在树视图和文字视图中填充 JSON 消息。一旦填充完毕,预期的 JSON 消息就可以保存起来供将来使用。
若要使用 JSON 断言器,请完成以下操作:
- 选择一个项目树节点,然后从快捷菜单中单击 Add Output 。将显示 Add Output 向导。
- 在添加输出向导中,从左侧 GUI 面板选择 Request / Response> Traffic ,右侧 GUI 面板选择 JSON Assertor ,然后单击 Finish 按钮。将在选定的节点下面添加一个 JSON Assertor 节点。
- 单击 JSON 断言器配置选项卡中的 Add 按钮。将显示 Select Assertion 向导。
- 选择一个断言类型。下面是对可用断言类型的简要总结。
- Value Assertions: 可以使用以下值断言:
- Value Assertion: 强制执行特定元素的值。
- Numeric Assertion: 强制元素的数值。
- String Comparison Assertion: 执行给定元素的文本内容的值。
- Regular Expression Assertion: 强制元素匹配正则表达式。
- Custom Assertion: 通过编写自定义逻辑脚本来强制执行元素的值。
- Structure Assertions: 可以使用以下结构断言:
- Has Content Assertion: 强制元素具有文本内容(即,文本长度> 0)。
- Has Children Assertion: 强制一个元素有一个或多个子元素。
- Compound Assertions: 可以使用以下组合断言:
- AND Assertion: 将所有必须成功的多个断言分组。
- OR Assertion: 在至少一个断言必须成功的地方对多个断言进行分组。
- Conditional Assertion: 只有在满足条件时才强制执行断言(条件是以前定义的断言的组合)。
- Difference Assertions: 可以使用以下差异断言:
- Numeric Difference Assertion: 对特定元素的值强制执行数值差异。断言元素的数值与用户指定的基值之间存在用户指定值的差异。例如,为了断言华氏度的值低于冰点 3 度,可以将基本值设置为 32,差值设置为 -3。
- Range Assertions: 可以使用以下差异断言:
- Numeric Range Assertion: 强制元素的数值位于数值范围的包含范围内。
- Value Assertions: 可以使用以下值断言:
- 单击 Next 按钮。将显示一个树视图。
- 选择要检查此断言的元素,然后单击 Finish 按钮。
您可以通过单击 Configuration 选项卡中的 Add 按钮,添加附加的断言来应用于消息。
如果稍后想修改断言引用的元素,请单击 Change Element,其位于 Configuration 选项卡右下角。这将打开一个对话框,允许您图形化或手动编辑给定的元素。