Gatling无法使用我的随机数据生成器

时间:2017-07-21 22:17:26

标签: gatling scala-gatling

我在加特林写了这个简单的测试

$results = mysqli_query($conn, $sql);
$num_rowspris = mysqli_num_rows($results);

我测试了超过10000次调用的createRandomUser方法,它总是生成随机用户。

但是这个代码在Gatling内部运行时,开始在短短10秒的运行时抱怨重复的用户

我怀疑Gatling中的每个用户都会调用我的随机方法一次,但是然后重新使用相同的对象。

我做了一些谷歌搜索,发现Feeders

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)

但这不起作用。

如何确保每次发出请求时......都会调用我的随机数据方法。

1 个答案:

答案 0 :(得分:1)

我在这里找到了答案

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)