我很难在JMeter中为POST调用更改标头参数(Content-Type:text / plain; charset = US-ASCII到Content-Type:application / json) - 将JSON Text发送为mutlipart / form-data参数与内容application / json。
尝试了这段代码片段 - sampler.getHeaderManager()。remove(1) - 它无助于删除正文标题。
--v_23LkJlLQpYLpcElRptQYb74v7-UeP
Content-Disposition: form-data; name="symbol"
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 8bit
{"name":"man_234","Id":"7d12d44c2"}
--v_23LkJlLQpYLpcElRptQYb74v7-UeP--
你能告诉我通过的建议
答案 0 :(得分:0)
如果您想修改请求正文中的Content-Type: text/plain; charset=US-ASCII
位,则需要以不同的方式执行此操作,即:在JSR223 PreProcessor中使用以下代码:< / p>
def oldBody = sampler.getArguments().getArgument(0).getValue()
def newBody = oldBody.replaceAll('Content-Type: text/plain; charset=US-ASCII','Content-Type: application/json')
sampler.getArguments().removeAllArguments()
sampler.addNonEncodedArgument('',newBody,'')
但是,您的方法可能不是最佳方法,因为multipart request每个FormData条目都可以拥有自己的Content-Type,因此您需要在不同的情况下修改请求而不是修改请求办法。有关手动构建多部分请求的示例,请参阅Testing REST API File Uploads in JMeter文章。