带增量编号的加特林进料器(非随机)
Posted
技术标签:
【中文标题】带增量编号的加特林进料器(非随机)【英文标题】: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)
感谢您的帮助
【问题讨论】:
【参考方案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 负责馈线安全。
【讨论】:
以上是关于带增量编号的加特林进料器(非随机)的主要内容,如果未能解决你的问题,请参考以下文章