scala - 如何增加 UUID 加特林馈线

标签 scala gatling

我是 gatling 和 scala 的新手,所以这绝对是一个 n00b 问题,但我正在努力解决这个问题。我发现这篇很棒的博客文章能够使用 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},它将是相同的值。如何获得下一次调用的新值?

最佳答案

我更喜欢使用 Iterator.continually helper ,而不是像这样:

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

关于scala - 如何增加 UUID 加特林馈线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33271971/

相关文章:

gatling - 使用 Gatling 发送随机请求

sbt - 在不生成报告的情况下运行 Gatling SBT

performance - 在没有交互选项的情况下运行 Gatling

scala - 从案例类中过滤出一个字段

scala - 为什么反引号构造函数参数中的空格会破坏编译器?

java - 如何在apache异步http客户端中设置重定向策略

scala - 对象 gatling 不是包 io 的成员

performance-testing - 如何将提取的数据写入加特林文件

scala - 排除行为的首选方式是什么

scala - 为什么方法需要 'abstract override' 修饰符