我有一个像下面这样的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}")
答案 0 :(得分:1)
StringBody采用不合适的Gatling EL语法:缺少$:
StringBody("""{"id1":${id1}, "id2":${id2}""")