gatling馈线 - 帖子不起作用,搞定

时间:2014-08-28 19:14:54

标签: performance performance-testing gatling

我有一个像下面这样的csv文件。

id1,id2
123,-8
124,-9
125,-10

我尝试使用CSV进纸器为CSV文件中的每一行执行POST请求。 POST不起作用。但是,使用相同的馈送文件的GET工作。我的语法错了吗?或者这不是使用馈线进行POST的正确方法吗?

以下是我的课程。

package test

import io.gatling.core.Predef._
import io.gatling.http.Predef._
import scala.concurrent.duration._

class FeederSimulation extends Simulation {

  val ids = csv("ids.csv").random

  val httpConf = http
                .baseURL("http://localhost:3001/api")
                .acceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
                .doNotTrackHeader("1")
                .acceptLanguageHeader("en-US,en;q=0.5")
                .acceptEncodingHeader("gzip, deflate")
                .userAgentHeader("Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0")

  val scn = scenario("post-example")
            .feed(ids)
            .exec(http("post-example")
            .post("/create")
            .body(StringBody("""{"id1":${id1}, "id2":${id2}""")).asJSON)


  setUp(scn.inject(atOnceUsers(1)).protocols(httpConf))
}

下面的GET确实有效:

val scn = scenario("get-example")
            .feed(ids)
            .exec(http("get-example")
            .get("/someUrl")
            .queryParam("id1", "${id1}")
            .queryParam("id2", "${id2}")

1 个答案:

答案 0 :(得分:1)

StringBody采用不合适的Gatling EL语法:缺少$:

StringBody("""{"id1":${id1}, "id2":${id2}""")