我试图以一种方式将用户注入到一个场景中,这样它将继续插入用户,直到使用了源文件的每一个条目,因为源文件包含登录信息。我希望feed文件中的所有用户都能登录。现在我能想到的只有两种可能的方法。
这里我一次在feedfile中插入行数。
1000000000
这里我插入一个非常高的持续时间,例如100秒,然后使feedfile循环。
scenario("Verified_Login")
.exec(LoginScenario.scn)
.inject(atOnceUsers(number_of_entries_in_feedfile))
第一种方法的问题是我必须找到Feed文件中的条目数,这可能很乏味,因为那里可能有数千条。第二个问题是条目可能并且可能会重复。那么有没有办法继续注入用户,直到feed文件用完了?
答案 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)