gatling - 生成唯一的执行标识
gatling - generate unique id of execution
当我通过使用 post
方法发送基于 json 的 ElFileBody
创建一些对象时,我有一个简单的场景。我想向该文件传递一些唯一的 ID,以便在执行场景后使用此测试创建的所有对象都将具有完全相同的 ID。
我正在尝试
exec(session ->
session.set("testExecutionId", java.util.UUID.randomUUID.toString)
);
但这每隔 运行 执行一次,并且每次执行都会获得自己的 testExecutionId。
谁能告诉我是否可以做这样的事情,或者也许已经有这样的东西开箱即用?
首先请使用 feed
而不是 exec
和 session.set
- 这是更正确的方法。
您的代码中的细微差别是每次都会调用 java.util.UUID.randomUUID.toString
方法。我们可以通过 val
变量初始化 id 来解决这个问题。
val uuid = java.util.UUID.randomUUID.toString
val testExecutionFeeder = Iterator.continually(Map("testExecutionId" -> uuid))
然后添加到您的场景中:
scenario(...)
.feed(testExecutionFeeder)
...
当我通过使用 post
方法发送基于 json 的 ElFileBody
创建一些对象时,我有一个简单的场景。我想向该文件传递一些唯一的 ID,以便在执行场景后使用此测试创建的所有对象都将具有完全相同的 ID。
我正在尝试
exec(session ->
session.set("testExecutionId", java.util.UUID.randomUUID.toString)
);
但这每隔 运行 执行一次,并且每次执行都会获得自己的 testExecutionId。 谁能告诉我是否可以做这样的事情,或者也许已经有这样的东西开箱即用?
首先请使用 feed
而不是 exec
和 session.set
- 这是更正确的方法。
您的代码中的细微差别是每次都会调用 java.util.UUID.randomUUID.toString
方法。我们可以通过 val
变量初始化 id 来解决这个问题。
val uuid = java.util.UUID.randomUUID.toString
val testExecutionFeeder = Iterator.continually(Map("testExecutionId" -> uuid))
然后添加到您的场景中:
scenario(...)
.feed(testExecutionFeeder)
...