加特林 - 自定义验证

时间:2017-10-18 20:42:26

标签: validation gatling

我是gatling和scala的新手。

如果JSON响应与JSON模式不匹配,我希望请求失败。 这是我的架构验证器功能。

 def validateJsonAgainstSchema(jsonResponseExpr:Expression[String], schemaFile:String)(session: Session): Validation[Session] = {

        val jsonResponse=jsonResponseExpr(session)
        val jsonSchema = testUtilsObj.readFile(schemaFile)
        val schema: JsonNode = asJsonNode(parse(jsonSchema))
        val instance: JsonNode = asJsonNode(parse(jsonResponse.get))
        val validator = JsonSchemaFactory.byDefault().getValidator
        val processingReport = validator.validate(schema, instance)

        if (processingReport.isSuccess) {
               Success(session)
             } else {
            println("****validation Failed*******")
            println(processingReport.map(_.asJson()).mkString("\n"))
           Failure(processingReport.map(_.asJson()).mkString("\n"))
        }
      }

我在exec块中调用此函数如下所示,即使函数返回失败,gatling测试也会通过。

 .exec(
        valObj.validateJsonAgainstSchema("${jsonResponse}","Schemas/searchQueryResponse.json") _
      )

如何在请求检查块中调用validateJsonAgainstSchema?有人能举例说明实现自定义验证吗?

0 个答案:

没有答案