Scala 如何从Gatling的feeder中访问会话中存储的值

Scala 如何从Gatling的feeder中访问会话中存储的值,scala,gatling,scala-gatling,Scala,Gatling,Scala Gatling,在我的Gatling场景中,会话中为用户存储了一个值。 稍后在同一场景中,调用feed并将其传递给自定义feed。自定义馈线需要使用会话中存储的值生成其下一个值 val MyScenario = scenario("ScenerioName") .repeat(10, "repetition") { exitBlockOnFail { group("WorkflowGroupName") { exec(session => {

在我的Gatling场景中,会话中为用户存储了一个值。 稍后在同一场景中,调用feed并将其传递给自定义feed。自定义馈线需要使用会话中存储的值生成其下一个值

val MyScenario = scenario("ScenerioName")
  .repeat(10, "repetition") {
    exitBlockOnFail {
      group("WorkflowGroupName") {
        exec(session => {
            // SETTING A VALUE INTO THE USER'S SESSION
            session.set("sessionVariable", 99)  // value that is stored changes for every run of the workflow (99 just for example purposes)
        })
        // CUSTOM FEEDER THAT GENERATES ITS NEXT VALUE USING THE SESSION VARIABLE 'sessionVariable' STORED ABOVE
        .feed(myFeeder)
        .group("RequestGroup1") {
          exec(httpPost1)
        }
      }
    }
  }

val myFeeder = Iterator.continually(Map("jsonFileValue" -> {

  // WANT TO RETRIEVE VALUE OF 'sessionVariable' STORED IN THE SESSION
  val returnValue = /* logic that generates its value based on value of 'sessionVariable' retrieved */
  returnValue

}
))

val httpPost1 = http("Request1")
  .post("http://IPAddress/service.svc")
  .headers(httpHeaders)
  .body(ELFileBody("MyJsonFile.json"))
  .check(status.is(200))
val httpHeaders = Map(
  "Content-Type" -> "application/json; charset=UTF-8",
  "X-Pod" -> ""
)
如何将存储的会话值传递给馈线,或让馈线从会话中检索该值

如缔约国所述:

有时,您可能希望根据需要过滤注入的数据 来自会议的一些信息

Feeder无法实现这一点,因为它只是一个迭代器,所以它不知道 上下文

如果您的值独立于您运行的测试,那么一个好方法可能是在您运行测试之前生成一个csv,然后将该csv提供给您的测试