【问题标题】:Gatling get variable out of feeder加特林从进料器中取出变量
【发布时间】:2016-09-16 08:34:30
【问题描述】:

我的 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))}这样的变量,这会引发错误。

有什么想法吗?感谢您的宝贵时间!

【问题讨论】:

    标签: gatling


    【解决方案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)
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多