我的Gatling版本是2.2.0,例如:
# resource.csv file
===============
user
user1
user2
# object file
===============
object REntity {
val feeder = csv("resources.csv").circular
val entity =
// ==================
// log in
// ==================
feed(feeder)
.exec(
http("example")
.post("/authentication?name=${user}")
.body(session => s"${Utils.getCredential(user)}")
).exitHereIfFailed.pause(Config.ThinkTime)
}
Utils.getCredential(user: String): String
只是一个接受用户名并返回凭据字符串的函数。
如您所见,用户名存储在resources.csv
文件中。我可以通过.post("/authentication?name=${user}")
简单地引用它。但是我怎么能把它称为像${Utils.getCredential(user))}
这样的变量,这会引起错误。
有什么想法吗?谢谢你的时间!
答案 0 :(得分:2)
我搜索了加特林的文档,找到了答案here。
它有两个部分介绍1)。设置属性和2)获取属性。
基本上,获取属性的方法应该是:
// say resources.csv looks like this:
// =====================
// user,entityID
// Jim,1001
// Mike,1002
val feeder = csv("resources.csv").circular
val name = session("user").as[String] // => "Jim"
答案应该是:
object REntity {
val feeder = csv("resources.csv").circular
val entity =
// ==================
// log in
// ==================
feed(feeder)
.exec(
http("example")
.post("/authentication?name=${user}")
.body(session => Utils.getCredential(session("user").as[String]))
).exitHereIfFailed.pause(Config.ThinkTime)
}