Проверьте значение, извлеченное с помощью JSONPath, и сравните с регулярным выражением, используя Gatling. - PullRequest
0 голосов
/ 15 мая 2019

Есть ли способ сделать что-то подобное в Gatling:

scenario("Check UUID with regex")
      .exec(http("Get UUID")
      .get("http://myapp/api/v1/goal/a24e210c-0fc1-44a0-a5ca-9bd5d8d71916")        
      .check(jsonPath("$.id").is(regex("[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}")))

В основном я хочу применить сравнение регулярных выражений к чему-либо, возвращенному в проверочной конструкции JSONPath.

Мир!

P.S. Я знаю, что могу сделать: .check(regex("\"id\": \"[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}\"").exists)

1 Ответ

0 голосов
/ 24 мая 2019

Нет ничего похожего на то, что вы описываете, но вы можете подделать это, используя преобразование

.check(jsonPath("$.id")
    .find
    .transform(id => "[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}".r
                 .findFirstMatchIn(id) match {
                    case Some(value) => true
                    case None => false                     
                  }
     ).is(true)

но если сработает прямая проверка регулярных выражений ... я бы пошел с этим

...