scala - Gatling - я не могу использовать переменные сеанса, сохраненные из запроса, в последующем запросе

Код:

package simulations

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

class StarWarsBasicExample extends Simulation
{

  // 1 Http Conf
   val httpConf = http.baseUrl("https://swapi.dev/api/films/")

  // 2 Scenario Definition
  val scn = scenario("Star Wars API")
    .exec(http("Get Number")
      .get("4")
      .check(jsonPath("$.episode_id")
      .saveAs("episodeId"))
  )
    .exec(session => {
      val movie = session("episodeId").as[String]
      session.set("episode",movie)
    }).pause(4)

    .exec(http("$episode")
      .get("$episode"))

  // 3 Load Scenario
  setUp(
    scn.inject(atOnceUsers(1)))
    .protocols(httpConf)

}

Пытается получить переменную из первого запроса Get и вставить эту переменную во второй запрос, но не может этого сделать, несмотря на использование документации. Возможно, я чего-то не понимаю.

Когда я использую точки останова и перемещаюсь по процессу, кажется, что выполнение сеанса происходит ПОСЛЕ того, как оба других запроса были завершены (к этому времени уже слишком поздно). Похоже, что выполнение сеанса не может происходить между двумя запросами.


person Anand Patel    schedule 12.02.2021    source источник
comment
http(...)... - это просто статический объект, описывающий HTTP-вызов. Если вы не углубились в Gatling и не добавили туда точки останова, то, скорее всего, произошло то, что вы сравнили время создания этих объектов и время выполнения функции сеанса.   -  person George Leung    schedule 12.02.2021
comment
Невозможно сделать это настолько расплывчато, насколько это возможно, но то, как что-то пошло не так, является наиболее важной информацией для получения помощи. Можете ли вы включить ведение журнала и опубликовать их здесь?   -  person George Leung    schedule 12.02.2021


Ответы (1)


Уже ответил на список рассылки сообщества Gatling.

"$episode" неверный синтаксис языка выражений Gatling. "${episode}" правильно.

person Stéphane LANDELLE    schedule 12.02.2021
comment
Это решает именно эту проблему, спасибо! У меня все еще есть еще одна проблема, связанная с тем, что подписи AWS не применяются должным образом, когда я пробую использовать кодовую базу, аналогичную приведенной выше (за исключением подписи aws), но я подниму ее в другом сообщении :) - person Anand Patel; 13.02.2021