Scala Gatling继续插入用户,直到达到feed文件的末尾

时间:2016-11-29 19:10:40

标签: scala gatling

我试图以一种方式将用户注入到一个场景中,这样它将继续插入用户,直到使用了源文件的每一个条目,因为源文件包含登录信息。我希望feed文件中的所有用户都能登录。现在我能想到的只有两种可能的方法。

  1. 这里我一次在feedfile中插入行数。

    1000000000
  2. 这里我插入一个非常高的持续时间,例如100秒,然后使feedfile循环。

    scenario("Verified_Login")
      .exec(LoginScenario.scn)
      .inject(atOnceUsers(number_of_entries_in_feedfile))
    
  3. 第一种方法的问题是我必须找到Feed文件中的条目数,这可能很乏味,因为那里可能有数千条。第二个问题是条目可能并且可能会重复。那么有没有办法继续注入用户,直到feed文件用完了?

1 个答案:

答案 0 :(得分:0)

根据this消息来源,从去年开始,StéphaneLandelle(他是gatling的前导contributor)表示,必须提供足够的数据才能使用此方法完成模拟。

我从Stéphane链接的帖子确实建议只读取文件的长度并使用它来驱动用户数量,正如您在问题中已经提到的那样。

我建议您阅读该帖子,因为它会为您提供另一种方法来实现您想要的效果。除非事情发生变化,否则似乎就像你将得到的一样接近。

这是他们的代码。

  val systemsIdentifier = jdbcFeeder(databaseUrl, databaseUser, databasePassword, sql_systemsIdentifier)

  val count = new AtomicInteger(systemsIdentifier.records.size).asLongAs(_ => count.getAndIncrement < systemsIdentifier.records.size)

  val comScn = scenario("My scenario")
   .repeat(systemsIdentifier.records.size / count) {
     feed(systemsIdentifier)
     .exec(performActionsChain)
   }

  setUp(comScn.inject(rampUsers(count) over (60 seconds))).protocols(httpConf)