【问题标题】:Gatling feeder with increment number (not random)带增量编号的加特林进料器(非随机)
【发布时间】:2020-03-18 11:19:43
【问题描述】:

我正在寻求帮助来创建简单的馈线以从 0 递增一个整数。 我发现了很多 feeder 示例来生成随机 UUID、电子邮件、字符串...... 我看过the doc 但是没有什么可以增加一个整数(我觉得一些与new java.util.concurrent.atomic.AtomicInteger(0) 有关的东西,但我不能有一些有用的东西),而且我不是在寻找在“ïnfinite”行中创建一些 CSV 或文件。

所以我拥有的是

  val userId = Iterator.continually(
    Map("userId" -> CAN'T FIND WHAT TO PUT HERE TO HAVE INCREMENT INTEGER FROM 0
  )

  object CreateUser {
    val createUser = exec(
        http("Create a random user")
          .post("/users"))
          .body(StringBody("""{
            "Username": "Test-${userId}"
          }""")).asJSON
  }

  val httpConf = http
    .baseUrl("https://api.some.site/v1/")

  val users = scenario("Create Users").exec(CreateUser.createUser)

  setUp(
    users.inject(rampUsers(100) during (10 seconds)),
  ).protocols(httpConf)

感谢您的帮助

【问题讨论】:

    标签: scala load-testing gatling


    【解决方案1】:

    我尝试使用 AtomicInteger,它对我来说效果很好:

    val id = new AtomicInteger(0)
    val userId: Iterator[Map[String, Int]] = Iterator.continually(Map("userId" -> id.getAndIncrement()))
    

    之后,您只需将 'feed' 方法添加到您的场景中:

    scenario("scenario")
        .feed(userId)
        .exec(request)
    

    【讨论】:

      【解决方案2】:

      Iterator.from(0).map(i => "userId" -> i) 就足够了,Gatling 负责馈线安全。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-01-21
        • 2016-10-20
        • 2018-06-17
        • 1970-01-01
        • 2017-10-19
        • 2013-07-05
        • 2012-06-03
        • 2020-05-16
        相关资源
        最近更新 更多