Gatling.io在虚拟用户之间共享数据

时间:2017-12-17 17:43:32

标签: gatling scala-gatling

我正在使用Gatling.io测试网站。我有一个有多个虚拟用户的场景。

val users = scenario("Users").exec(Session.browse)
val admins = scenario("Admins").exec(Session.create)

我希望管理员用户在我正在测试的网站上创建一个“会话”,从网站返回的结果中保存会话名称,并让其他用户通过获取会话名称来访问之前创建的会话来自用户admin。

如何在用户之间共享会话名称?

1 个答案:

答案 0 :(得分:2)

我认为Gatling的默认答案是创建会话并将其保存在某种文件中,并在新的模拟中读取该值并让用户选择它。 '扇动'并不是Gatling在单一模拟中支持的场景。

也就是说,如果你真的想要,你可以捏造它 - 特别是如果你需要管理员用户快速执行一次,并且你准备在模拟文件中定义你的场景。

class simulation extends Simulation {
  private var mySession = "NOT_SET"

val users = scenario("Users").exec(Session.browse)  
val admins = scenario("Admins").exec(Session.create) 
}

作为管理员的一部分'方案将会话的价值保存到' mySession' VAR

作为用户的一部分'场景设置了一个会话变量来自' mySession' VAR

然后运行你的模拟... ...

setUp(
admins.inject(
  atOnceUsers(1)
),
users.inject(
  nothingFor(1 minutes), //enough time for admins to complete
  atOnceUsers(10) //or however many you need
)

它适用于快速和肮脏的数据播种,但你真的切断了Gatling的设计方式。