​;如何为TeamCity中运行的JMeter编写JSON模式验证

​;如何为TeamCity中运行的JMeter编写JSON模式验证,jmeter,Jmeter,我正在使用JMeter进行回归API测试自动化。 我正在寻找一些基本的有机解决方案,以使用内置JMeter工具验证JSON模式。 CI是使用Team City构建的,因此基本解决方案会更快。现成的JMeter不提供JSON模式验证功能,但是您可以使用第三方库将其添加到JMeter中 获取最新版本的 获取适当版本的 获取适当版本的 将上面的3个.jar文件放到JMeter安装的“lib”文件夹中(或任何位置) 作为的子项添加,该子项返回需要对照模式(或根据)检查的JSON 将以下代码放入“脚本”区

我正在使用JMeter进行回归API测试自动化。 我正在寻找一些基本的有机解决方案,以使用内置JMeter工具验证JSON模式。
CI是使用Team City构建的,因此基本解决方案会更快。

现成的JMeter不提供JSON模式验证功能,但是您可以使用第三方库将其添加到JMeter中

  • 获取最新版本的
  • 获取适当版本的
  • 获取适当版本的
  • 将上面的3个.jar文件放到JMeter安装的“lib”文件夹中(或任何位置)
  • 作为的子项添加,该子项返回需要对照模式(或根据)检查的JSON
  • 将以下代码放入“脚本”区域:

  • 就是这样,如果模式验证失败,受影响的采样器将被标记为失败


  • 好的,我会检查解决方案并给出反馈。Thanks@DmitriT感谢您提供解决方案。我试过了,效果很好。脚本第4行中的一件事是将JSONObject更改为org.json.JSONObject。
    def schemaPath = '/path/to/your/schema.json'
    def rawSchema = new org.json.JSONObject(new org.json.JSONTokener(org.apache.commons.io.FileUtils.readFileToString(new File(schemaPath), 'UTF-8')))
    def schema = org.everit.json.schema.loader.SchemaLoader.load(rawSchema)
    schema.validate(new JSONObject(prev.getResponseDataAsString()))