如何在 Gatling 脚本的每个请求中动态传递纪元时间戳

How to pass epoch timestamp in each requests of Gatling script dynamically

我必须在 "request_1" 和 "request_2" 下动态传递当前纪元时间戳。我怎样才能做到这一点。以下只是给出的几个请求,实际上脚本中有很多请求。

这里所有请求都应该只有当前时间戳。所以每个请求都会有不同的时间戳。

有什么功能可以让我直接替换所有时间戳而不用一个一个替换

  val Transaction_Name_1 = group("Transaction_Name_1")
  {
      exec(http("request_1")
        .get("/abc/details1?_=1590748529401"))
      .pause(5)
      .exec(http("request_2")
        .get("/abc/details1?_=1590748535534"))
  }

没有办法在任何地方神奇地做到这一点。您必须替换每个出现的地方。

从 Gatling 3.3.1(目前的当前版本)开始,最简单的方法是:

val Transaction_Name_1 = group("Transaction_Name_1") {
  exec(http("request_1")
    .get(session => "/abc/details1?_=" + System.currentTimeMillis()))
  .pause(5)
  .exec(http("request_2")
    .get(session => "/abc/details1?_=" + System.currentTimeMillis()))
}

在 Gatling 3.4.0 中,我们将引入 new Gatling EL feature 这样您就可以编写:

val Transaction_Name_1 = group("Transaction_Name_1") {
  exec(http("request_1")
    .get("/abc/details1?_=${currentTimeMillis()}")
  .pause(5)
  .exec(http("request_2")
    .get("/abc/details1?_=${currentTimeMillis()}"))
}