Как сохранить заголовок из ответа http - PullRequest
2 голосов
/ 14 мая 2019

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

Когда пользователь входит в систему, он получает ответ заголовка, содержащий заголовок авторизации, с токеном.

Вот мой код, но он не работает:

val LoggingTest = scenario("Basic Scenario")
      .exec(http("Logging")
      .post("/login")
      .body(
        StringBody("""{"name" : "test",
          "password" : "test"}""")
      )
      .check(header("Authorization").saveAs("token"),status.is(200))
    ).pause(15)

    .exec(http("check")
    .get("/sayhi")
    .header("Authorization",s"${token}")
    .check(status.is(200))
    ).pause(15)

Как я могу это исправить, пожалуйста?

Ответы [ 2 ]

3 голосов
/ 14 мая 2019

Вот как вы можете это сделать:


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

val LoggingTest: ScenarioBuilder = scenario("Basic Scenario")
  .exec(http("Logging")
     .post("/login")
     .body(
        StringBody("""{"name" : "test",
        "password" : "test"}""")
     )
     .check(header("Authorization").saveAs("token"),status.is(200))
   ).pause(15)
   .exec( 
     http("check")
       .get("/sayhi")
       .header("Authorization", session => session("token").validate[String])
       .check(status.is(200))
   ).pause(15)
2 голосов
/ 15 мая 2019

Это не s"${token}", а "${token}" без s.

К сожалению, IntelliJ автоматически добавляет это s, потому что считает, что вы хотите использовать интерполяцию строк Scala, а вы хотите использовать язык выражений Гатлинга.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...