scala - Gatling - 我似乎无法在后续请求中使用从请求中存储的会话变量

scala - Gatling - I can't seem to use Session Variables stored from a request in a subsequent Request

代码:

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 请求中获取一个变量,并将该变量注入到第二个请求中,但尽管使用了文档,但还是无法做到。可能有些地方我不明白。

当我使用断点并在整个过程中导航时,会话执行似乎发生在其他两个请求都已完成之后(此时为时已晚)。似乎无法在两个请求之间执行该会话。

已在 Gatling's community mailing list 上回答。

"$episode" 不是正确的 Gatling 表达式语言语法。 "${episode}" 正确。