Как получить значение из тела ответа в Gatling?

Я пробовал разные подходы, которые я нашел на Gatling.io, но моя проблема все еще сохраняется. Есть API, который возвращает короткий ответ в формате JSON при отправке запроса GET.

ПОЛУЧИТЬ запрос:

HTTP: // локальный: some_port / апи / endpoint1 параметр1=1234& параметр2 = 5678

Отклик:

{ "сделка":"6d638b9b-f131-41b1-bd07-0d1c6a1d4bcc","справочник":"some_text"}

Мне нужно получить значение транзакции из ответа и использовать его в другом запросе.

Следующий запрос:

http://localhost:some_port/api/endpoint2?transaction= $ actionValue & параметр =8

До сих пор я пытался использовать регулярные выражения, jsonPath со значениями Int или String, но в результате 0 или None.

Это мой код сценария до сих пор:

import io.gatling.core.Predef._
import io.gatling.http.Predef._

class class1 extends Simulation {

    val httpProtocol = http
        .baseURL("http://localhost:port")
        .inferHtmlResources()
        .acceptHeader("text/html,application/json")
        .acceptEncodingHeader("gzip, deflate")
        .acceptLanguageHeader("en-US,en;q=0.9,hr;q=0.8,sr;q=0.7,bs;q=0.6")
        .userAgentHeader("Mozilla/5.0 (X11; Fedora; Linux x86_64)")

    val headers = Map(
        "Content-Type" -> "application/json")

    val uri1 = "http://localhost:port/api/endpoint1"
    val uri2 = "http://localhost:port/api/endpoint2"

    val scn = scenario("getEndpoint1")
        .exec(http("endpoint1")
            .get("/api/endpoint1?parameter1=1234&parameter2=5678")
            .headers(headers)
      .check(jsonPath("$.transaction").findAll.saveAs("transaction")))
    .pause(3)
    .exec(session => {
      val transaction = session("transaction").asOption[String]
      session
    }).exec(http("endpoint2").get(uri2 +s"/transaction=${"transaction"}&parameter=8").headers(headers))

    setUp(scn.inject(atOnceUsers(1))).protocols(httpProtocol)
}

Если у вас есть какие-либо предложения или вы видите что-то, что я делаю неправильно, это будет с благодарностью.

0 ответов

Другие вопросы по тегам