2016-09-16 51 views
0

我加特林的版本是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))}這樣的變量,這會引發錯誤。

任何想法?謝謝你的時間!

回答

1

我搜索了Gatling的文檔,找到答案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) 
}