Warm tip: This article is reproduced from serverfault.com, please click

其他-是否可以在json验证中使用通配符或忽略Jmeter中json中的某些值

(其他 - Is it possible to use wild cards in json validation or ignore some values in json in Jmeter)

发布于 2020-12-04 18:44:57

我的jmeter应用程序发送了一个请求,并期望json响应中包含以下内容

{"external-profile":{"email":"myemail@gmail.com","firstname":"fn","lastname":"ln","portfolio":{"field1":[],"field2":[],"field3":[]}}}

field1field2并且field3可以为空数组或可以具有某些值。有没有办法检查消息是否包含field1,2,3但忽略该值?

我尝试过这样做,但是不起作用- {"external-profile":{"email":"myemail@gmail.com","firstname":"fn","lastname":"ln","portfolio":{"field1":[\.*],"field2":[\.*],"field3":[\.*]}}}老实说,我不知道这是在中指定正则表达式的正确方法jmeter

Questioner
Manu Chadha
Viewed
11
Dmitri T 2020-12-05 03:20:34

JMeter 5.2开始,你就有了提供功能的JSON JMESPath声明,可以使用它来验证属性名称(示例配置):keys

在此处输入图片说明

以及文本表示形式,以便于复制和粘贴:

  • JMESPath: join(',',keys("external-profile".portfolio))
  • 期望值: field1,field2,field3

但是,如果“字段”的顺序不同,它将失败,因此你可能想要使用JSON Schema Validator,可以从JSR223断言中使用它。