加特林 - 斯卡拉中的字符串插值



我想在一个变量中设置StringBody值:

exec(session => {session.set("searchBody", """{"productId":"${productID}","category":"${category}"}""")})

变量${productID}${category}存在。我想使用值作为函数 StringBody 的参数:

http("/products")           
.post(appURL + "/search")
.headers(jsonHeader)
.body(StringBody("${searchBody}")).asJSON

但它没有按预期工作。我收到以下错误:i.g.h.a.ResponseProcessor - Request '/products' failed:status.find.is(200), but actually found 403

为什么变量searchBody的字符串中没有打印变量?

更新:

我正在尝试:

val search= exec(repeat(products.size, "n"){
feed(products.circular)
.uniformRandomSwitch( //5
exec(session => {session.set("searchBody", """{"productId":"${productID}","minPrice":"${minPrice}"}""")}),
exec(session => {session.set("searchBody", """{"productId":"${productID}","category":"${category}"}""")})
)
.exec(
http("/products")           
.post(appURL + "/search")
.headers(jsonHeader)
.body(StringBody("${searchBody}")).asJSON
.check(status.is(200), responseTimeInMillis.lessThan("${expectedResponseTime}"))
)
})

我想发送不同类型的请求以统一平衡,并且我不想复制执行部分。端点始终相同,只是正文不同。

你需要利用 scala 的 s 字符串插值方法。请找到以下答案。

http("/products")           
.post(appURL + "/search")
.headers(jsonHeader)
.body(StringBody(s"${searchBody}")).asJSON

相关内容

  • 没有找到相关文章

最新更新