我正在使用Gatling.io测试网站。我有一个有多个虚拟用户的场景。
val users = scenario("Users").exec(Session.browse)
val admins = scenario("Admins").exec(Session.create)
我希望管理员用户在我正在测试的网站上创建一个“会话”,从网站返回的结果中保存会话名称,并让其他用户通过获取会话名称来访问之前创建的会话来自用户admin。
如何在用户之间共享会话名称?
答案 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的设计方式。