需要使用响应断言验证Jmeter中的整个JSON响应

时间:2018-03-22 07:49:08

标签: api jmeter

我收到了以下格式的回复

{“ErrorCode”:“406”,“消息”:“员工姓名不应为空,且不应超过30个字符”}并验证相同,我已添加响应断言并给出响应响应文本,但当我尝试断言它失败enter image description here

请建议我正确的方式。感谢

2 个答案:

答案 0 :(得分:1)

由于JMeter 4.0 JSON Assertion是使用JSON语言处理JSONPath响应的正确方法。

如果响应的JSON性质,像equals和substring这样的字符串操作以及包含和匹配等正则表达式操作可能很脆弱。

  1. 验证“错误代码”:

    • 断言JSON路径存在:$.ErrorCode
    • 另外断言价值:检查
    • 预期价值:406

      JMeter JSON Assertion 1

  2. 验证“消息”:

    • 断言JSON路径存在:$.Message
    • 另外断言价值:检查
    • 预期价值:Employee Name should not be empty and should not be more than 30 characters

      JMeter JSON Assertion 2

  3. 如果由于某种原因您遇到了早期的JMeter版本,您可以使用JSON Path Assertion插件播放相同的技巧

答案 1 :(得分:0)

您的支票似乎在开头包含一个换行符。

JMeter使用您按原样输入的值,而不进行修剪,因此您的解决方案是:

删除字符串之前/之后的空格。您还可以拆分为几个较小的断言,以确保没有添加额外的字符。