doIf 不使用会话

doIf not working with session

我正在尝试使用 Gatling,我只想在第一个场景迭代中执行一些步骤,这里是我的代码

def create(): ScenarioBuilder = {
    scenario(name)
      .exec(session => session.set("DEBUG", debug_set))
      .exec(session => session.set("client_id", session.userId))
      .doIf(session => session("initialized").asOption[String].isEmpty) {
        exec(Identity.getIdentityToken)
        exec(session => session.set("initialized", "true"))
      }
      .exitHereIfFailed
      .during(Duration(15, MINUTES)) {
        exec(X.setupVars)
          .exec(X.create)
          .pause(Duration(1, SECONDS))
          .exec(X.get)
      }
  }
}

不知何故,第一次迭代在初始化时没有定义,它没有到达那里,因为我没有看到其中一个步骤执行的日志。

知道我哪里做错了吗?

您的 doIf 中的第二个 exec 缺少一个点:

.doIf(session => session("initialized").asOption[String].isEmpty) {
    exec(Identity.getIdentityToken)
    .exec(session => session.set("initialized", "true"))
}

干杯,
保罗也是:)
加特林机队