6

我是加特林的新手。我正在尝试使用 Gatling 将 POST 消息发送到 HTTP API。我尝试了以下方法:

package app.basic
import io.gatling.core.Predef._
import io.gatling.http.Predef._
import scala.concurrent.duration._

class basicPost extends Simulation {
  val headers_10 = Map("Content-Type" -> """application/json""")
  object Post {
      // repeat is a loop resolved at RUNTIME
      val post = repeat(50) { 
      exec(http("Post Data")
          .post("/data")
          .queryParam("""size""", "10"))
          .headers(headers_10)
          .body("""{"id1":"0000000000"}""")
          .pause(1)
  }
  }
  val httpConf = http.baseURL("http://amazonperf-env.elasticbeanstalk.com")   
  val users = scenario("Users").exec(Post.post)
  setUp(
    users.inject(rampUsers(1000) over (10 seconds))
  ).protocols(httpConf)
}

但是,编译时出现此错误: value body is not a member of io.gatling.core.structure.ChainBuilder 可能的原因:可能在“value body”之前缺少分号?

如何指定要发送的邮件正文?

4

5 回答 5

17

这是旧的 Gatling 1 语法(Gatling 1 已弃用且不再维护)。

请阅读文档

在你的情况下,你会得到类似的东西:

.body(StringBody("""{"id1":"0000000000"}"""))
于 2014-10-10T05:56:11.463 回答
0

此外,看起来您关闭exec博客的速度有点太快了,就在queryParam("""size""", "10").

右括号应该在之后.body(...),而不是之后.queryParam(...)

于 2014-10-10T15:39:04.777 回答
0

您可以使用方法 formParam(key: Expression[String], value: Expression[Any]) 将消息发布到 API。

于 2015-04-09T09:07:40.487 回答
0

尝试发送请求正文如下

.body(StringBody("""{
                           "name": "morpheus",
                           "job": "leader"
                       } """)).asJson)
于 2020-10-03T19:02:47.923 回答
0

根据当前文档,它是这样的:

.body(StringBody("""{ "id1":"0000000000" }""")).asJson

还要在以下位置删除额外的右括号:

.queryParam("""size""", "10"))

正确放置右括号,如下所示:

.pause(1))
于 2021-12-21T12:04:23.843 回答