如何解决从加特林的cvs文件获取json请求正文
我有一个csv文件,如下所示:
Id,searchCriterion
18817,"{"basicSearchCriteria":{"name":{"text":"Kas"}}}"
我想将搜索条件发布为请求正文中的json,并准备以下代码作为加特林场景,但它不起作用-由于正文中的json不正确,我收到了400个状态代码:
val feeder = csv("search.csv")
object SearchWithCriteria
{
var request =
feed(feeder)
.exec(
http("POST with criteria page 1")
.post("api/resources?pageNumber=1&pageSize=10&id=${Id}")
.body(StringBody("""${searchCriterion}"""))
.check(status.is(200))
)
}
val basicSearch = scenario("Basic search (no search criteria)").exec(SearchWithCriteria.request)
setUp(
basicSearch.inject(rampUsers(1) during (1 seconds))
).protocols(httpProtocol)
当我将CSV文件中的json粘贴到body语句中时(如上),它会起作用:
.body(StringBody("""{"basicSearchCriteria":{"name":{"text":"Kas"}}}"""))
解决方法
您的文件不是正确的CSV,因为双引号是必须转义的保留字符。
来自rfc4180:
如果字段没有用双引号引起来,则双引号可能不会出现在字段内。
如果使用双引号将字段括起来,则必须在字段内部出现双引号,方法是在其前面加上另一个双引号。
您应该具有:
Id,searchCriterion
18817,"{""basicSearchCriteria"":{""name"":{""text"":""Kas""}}}"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。