我正在使用gatling 2.0.3,我正在寻找执行单链并在运行某些复杂场景之前存储身份验证令牌。但我无法找到一种方法来跨场景共享令牌,而不是首先执行auth链并将其写入文件,由馈送器拾取。有没有正确的方法来做到这一点?
before{
scenario_get_auth.inject(
//make auth call and save to file for feeder
)
}.protocols(default_http)
setUp{
scenario_load_one.inject(
constantUsersPerSec(10).during(test_duration_secs)
)
scenario_load_two.inject(
constantUsersPerSec(1-).during(test_duration_secs)
)
}.protocols(default_http)
答案 0 :(得分:3)
最近在our mailing list上回答了类似的问题。
基本上,您必须使用全局ConcurrentHashMap。
答案 1 :(得分:0)
我正在寻找类似的东西,但无法使用 @Stephane 建议的 Concurrent HashMap,因为我的访问令牌在一个小时后到期。
这是一个 gist 的代码片段,我在 Guava Cache 之上创建了一个包装器,依赖于 ScalaCache。
这允许我们在实际令牌过期之前使缓存条目过期。因此,我们不需要在模拟中添加额外的 401 状态代码处理。