Gatling 无法使用我的随机数据生成器
Gatling not able to use my Random Data Generator
我用 Gatling 编写了这个简单的测试
val createUser = http("create user")
.post("form/submit")
.body(StringBody(RequestBuilder.createRandomUser())).asJSON
.check(status.is(200))
setUp(
scn.inject(
atOnceUsers(25),
rampUsers(10) over (5 seconds),
constantUsersPerSec(30) during(10 minutes)
)
).protocols(httpConf)
我测试了 createRandomUser 方法超过 10000 次调用,它总是生成随机用户。
但是当 运行 在 Gatling 内部时,此代码在 运行
的短短 10 秒内开始抱怨重复用户
我怀疑 Gatling 中的每个用户都调用了我的随机方法一次,但随后又重复使用了同一个对象。
我用谷歌搜索了一下,发现 Feeders:
val feeder = Iterator.continually(Map("user" ->
(RequestBuilder. createRandomUser(emails))))
val createUser = http("create user")
.post("form/submit")
.body(StringBody(feed(feeder))).asJSON
.check(status.is(200))
但这不起作用。
如何确保每次发出请求时...我的随机数据方法都会被调用。
我在这里找到了答案
https://www.reddit.com/r/scala/comments/6p1za3/any_gatling_experts_here/dkm64nc/
val feeder = Iterator.continually(Map("user" -> (RequestBuilder.createRandomRequest())))
def createRespondent = http("createuser")
.post("form/submit")
.body(StringBody("${user}").asJSON
.check(status.is(200))
scenario("my load test")
.feed(feeder)
.exec(createRespondent)
我用 Gatling 编写了这个简单的测试
val createUser = http("create user")
.post("form/submit")
.body(StringBody(RequestBuilder.createRandomUser())).asJSON
.check(status.is(200))
setUp(
scn.inject(
atOnceUsers(25),
rampUsers(10) over (5 seconds),
constantUsersPerSec(30) during(10 minutes)
)
).protocols(httpConf)
我测试了 createRandomUser 方法超过 10000 次调用,它总是生成随机用户。
但是当 运行 在 Gatling 内部时,此代码在 运行
的短短 10 秒内开始抱怨重复用户我怀疑 Gatling 中的每个用户都调用了我的随机方法一次,但随后又重复使用了同一个对象。
我用谷歌搜索了一下,发现 Feeders:
val feeder = Iterator.continually(Map("user" ->
(RequestBuilder. createRandomUser(emails))))
val createUser = http("create user")
.post("form/submit")
.body(StringBody(feed(feeder))).asJSON
.check(status.is(200))
但这不起作用。
如何确保每次发出请求时...我的随机数据方法都会被调用。
我在这里找到了答案
https://www.reddit.com/r/scala/comments/6p1za3/any_gatling_experts_here/dkm64nc/
val feeder = Iterator.continually(Map("user" -> (RequestBuilder.createRandomRequest())))
def createRespondent = http("createuser")
.post("form/submit")
.body(StringBody("${user}").asJSON
.check(status.is(200))
scenario("my load test")
.feed(feeder)
.exec(createRespondent)