3
val scn = scenario("gatling test").
    feed(circularfeeder.circular)
    .exec(http("request")
      .post(endpoint)
      .header("Content-Type", "application/json")
      .header("Accept-Encoding", "charset=UTF-8")
      .body(StringBody("""${request}"""))
      .check(status.is(200))

上面的代码用于将每个循环馈送数据作为字符串发送到请求的正文。假设如果我想在正文中作为字节数组而不是字符串发送,我该如何修改该行.body(StringBody("""${request}"""))

代码.body(ByteArrayBody(getBytesData("""${request}""")))不起作用。有什么建议吗?

4

1 回答 1

2

选项1

在字符串上调用getBytes方法request并将其传递给ByteArrayBody

.body(ByteArrayBody { session => 
  session("request")
    .validate[String]
    .map(s => s.getBytes(StandardCharsets.UTF_8)) 
})

选项 2

转换从馈线获得的原始数据。

val circularfeeder = csv("myFile.csv").convert {
  case ("request", string) => string.getBytes(StandardCharsets.UTF_8)
}
...
.body(ByteArrayBody("${request}"))
于 2019-12-20T14:01:38.457 回答