将请求主体加为字节数组

时间:2019-12-05 00:10:27

标签: scala gatling scala-gatling gatling-plugin

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}""")))不起作用。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

选项1

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

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

选项2

转换您从Feeder获取的原始数据。

val circularfeeder = csv("myFile.csv").convert {
  case ("request", string) => string.getBytes(StandardCharsets.UTF_8)
}
...
.body(ByteArrayBody("${request}"))