如何增加 UUID 加特林进纸器
How do I increment a UUID gatling feeder
我是 gatling 和 scala 的新手,所以这绝对是一个 n00b 问题,但我正在努力解决这个问题。我发现这个很棒的博客 post 能够使用 UUID 馈线 http://www.andrewgorton.uk/blog/gatling-uuid-feeder/
object UuidFeeder {
val feeder = new Feeder[String] {
override def hasNext = true
override def next: Map[String, String] = {
Map("uuid" -> UUID.randomUUID.toString());
}
}
}
效果很好,我的问题是当我将新值放入循环中时,我无法弄清楚如何获取新值。
我是这样用的 -
val scn = scenario("Test Scenario")
.feed(UuidFeeder.feeder)
.exec(http("get stuff")
.post("/stuff")
.body(StringBody(
"""{
"uuid": "${uuid}",
}""")).asJSON
.check(status.is(201)))
如果我在后续测试中使用 ${uuid} ,它将是相同的值。如何为下一次调用获取新值?
你的代码对我来说很好,应该为每个虚拟用户每次到达提要操作时生成不同的 UUID。
我更喜欢使用 Iterator.continually 助手,而不是像这样:
object UuidFeeder {
val feeder = Iterator.continually(Map("uuid" -> java.util.UUID.randomUUID.toString()))
}
用法与以前相同..希望对您有所帮助:)
// Usage
//
// scenario("My Scenario")
// .feed(UuidFeeder.feeder)
// .exec(http("MyCall"))
// ...// rest of code
我使用下面的代码生成随机 UUID,这可能会有用。我在 header 中使用并且有效。
定义值
val uuidfeeder: Feeder[String] = Iterator.continually(Map("uuid" -> UUID.randomUUID().toString))
将 val 调用到 post 响应
def postResponse(): ChainBuilder = {
repeat(repeatLoop) {
feed(uuidfeeder)
.feed(jsonFeeder)
.exec(http("Post Response: ")
.post(endPoint)
.header("x-request-id", "${uuid}")
.body(StringBody(
"""{
}""")
}}
我是 gatling 和 scala 的新手,所以这绝对是一个 n00b 问题,但我正在努力解决这个问题。我发现这个很棒的博客 post 能够使用 UUID 馈线 http://www.andrewgorton.uk/blog/gatling-uuid-feeder/
object UuidFeeder {
val feeder = new Feeder[String] {
override def hasNext = true
override def next: Map[String, String] = {
Map("uuid" -> UUID.randomUUID.toString());
}
}
}
效果很好,我的问题是当我将新值放入循环中时,我无法弄清楚如何获取新值。
我是这样用的 -
val scn = scenario("Test Scenario")
.feed(UuidFeeder.feeder)
.exec(http("get stuff")
.post("/stuff")
.body(StringBody(
"""{
"uuid": "${uuid}",
}""")).asJSON
.check(status.is(201)))
如果我在后续测试中使用 ${uuid} ,它将是相同的值。如何为下一次调用获取新值?
你的代码对我来说很好,应该为每个虚拟用户每次到达提要操作时生成不同的 UUID。
我更喜欢使用 Iterator.continually 助手,而不是像这样:
object UuidFeeder {
val feeder = Iterator.continually(Map("uuid" -> java.util.UUID.randomUUID.toString()))
}
用法与以前相同..希望对您有所帮助:)
// Usage
//
// scenario("My Scenario")
// .feed(UuidFeeder.feeder)
// .exec(http("MyCall"))
// ...// rest of code
我使用下面的代码生成随机 UUID,这可能会有用。我在 header 中使用并且有效。
定义值
val uuidfeeder: Feeder[String] = Iterator.continually(Map("uuid" -> UUID.randomUUID().toString))
将 val 调用到 post 响应
def postResponse(): ChainBuilder = {
repeat(repeatLoop) {
feed(uuidfeeder)
.feed(jsonFeeder)
.exec(http("Post Response: ")
.post(endPoint)
.header("x-request-id", "${uuid}")
.body(StringBody(
"""{
}""")
}}