t.me/atinfo_chat Telegram группа по автоматизации тестирования

Gatling вопрос по созданию кастомного валидатора

Теги: #<Tag:0x00007f748960a2c0> #<Tag:0x00007f748960a158> #<Tag:0x00007f7489609ff0>

Используем Gatling как инструмент для нагрузочного для функционального тестирования Rest-api, для создания payload используем Play Framework. Интересно или кто-то писал кастомные check и валидаторы?

Так а в чем, собственно, вопрос?

1 Симпатия

Вопрос вообщем-то более общий, инересно посмотреть примеры реального использования validator, возможно ли использовать валидатор для проверки например JSON schema cовместно с данными.

Например вот так

object JsonSchemaCheckBuilder {
    def matchesJsonSchema(jsonSchema: SchemaType) = {
      val JsonSchemaExtractor = new Extractor[String, Unit] {
        val name: String = "jsonSchema"
        def arity: String = "match"
        def apply(prepared: String): Validation[Option[Unit]] = {
          val validationResult = SchemaValidator().validate(jsonSchema, Json.parse(prepared))
          validationResult.fold(
            invalid => Failure(invalid.mkString("\n")),
            valid => Success(Some(()))
          )
        }
      }
      new DefaultFindCheckBuilder[HttpCheck, Response, String, Unit](
        StringBodyExtender,
        ResponseBodyStringPreparer,
        JsonSchemaExtractor
      )
    }
  }

http("request")
  .get("/something")
  .check(matchesJsonSchema(schema))
1 Симпатия