scala - Gatling 请求正文为字节数组
问题描述
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
在字符串上调用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}"))
推荐阅读
- sql - 在带有 BETWEEN 的 WHERE 子句中使用 CASE
- reactjs - 如何在外部样式中使用material-ui断点规则?
- php - Laravel 搜索查询无法使用 elquent
- javascript - 为什么 parentNode 替换 td 的所有元素而不是指定的元素?
- javascript - React Native,TypeScript - 无论设置什么配置,类型“any []”上都不存在属性“包含”,“发现”
- django - 将自定义方法添加到由 modelform_factory 生成的 Django 模型表单
- ssl - 在 Ubuntu 16.04 上使用 ssl 从 www 重定向到非 www 在 Nginx 中不起作用
- css - 如何在 Stylelint 中定义规则,该规则需要在选择器中的换行符之前使用逗号?
- c++ - C ++如何将子字符串转换为int
- python - 信令服务器性能问题:Python vs NodeJS