我正在使用Gatling生成大量用户来测试我产品的性能问题。我需要能够动态创建具有唯一字段的用户(例如“电子邮件”)。所以,我正在生成一个随机数并使用它,但每次都没有重新实例化,所以电子邮件在第一次传递时才是唯一的。
object Users {
def r = new scala.util.Random;
def randNumb() = r.nextInt(Integer.MAX_VALUE)
val numb = randNumb()
val createUser = {
exec(http("Create User")
.post("/users")
.body(StringBody(raw"""{"email": "qa_user_$numb@company.com" }""")))
}
}
val runCreateUsers = scenario("Create Users").exec(Users.createUser)
setUp(
runCreateUsers.inject(constantUsersPerSec(10) during(1 seconds))
).protocols(httpConf)
我应该在哪里定义随机数?如何将其传递给createUser?
答案 0 :(得分:1)
使用feeder:
object Users {
val createUser = exec(http("Create User")
.post("/users")
.body(StringBody("""{"email": "qa_user_${numb}@Marqeta.com" }""")))
}
val numbers = Iterator.continually(Map("numb" -> scala.util.Random.nextInt(Int.MaxValue)))
val runCreateUsers = scenario("Create Users")
.feed(numbers)
.exec(Users.createUser)
...