如何在 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()}"))
}
我必须在 "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()}"))
}