Gatling 请求正文作为 bytearray

Gatling request body as bytearray

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))

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

代码.body(ByteArrayBody(getBytesData("""${request}""")))无效。有什么建议吗?

选项 1

request 字符串上调用 getBytes 方法并将其传递给 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}"))