首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JMeter BeanShell PreProcessor修改请求

JMeter BeanShell PreProcessor修改请求
EN

Stack Overflow用户
提问于 2021-03-09 05:58:09
回答 2查看 197关注 0票数 0

我有一个执行POST调用的JMeter HTTP-Request元素,如下所示:

代码语言:javascript
复制
{
  "id" : 1,
  "name" : "me"
}

我想把这个请求体加载到BeanShell PreProcessor上并修改name字段,我该怎么做呢?

EN

回答 2

Stack Overflow用户

发布于 2021-03-09 06:19:44

回答我自己的问题:

  1. Get请求正文:

String requestBody =String

  1. 修改请求(在我的示例中,我将其修改为已解析的JSONObject)

  1. 将修改后的请求body设置为当前请求:

sampler.getArguments().getArgument(0).setValue(modifiedRequestObject.toString());

票数 0
EN

Stack Overflow用户

发布于 2021-03-09 15:49:27

所以我建议重新考虑一下你的“Since JMeter 3.1 you're supposed to be using JSR223 Test Elements and Groovy language for scripting”方法。

下面是一段示例Groovy代码,展示了如何修改请求:

代码语言:javascript
复制
def payload = new groovy.json.JsonSlurper().parseText(sampler.getArguments().getArgument(0).getValue())

payload.name = 'some new name'

sampler.getArguments().clear()
sampler.addNonEncodedArgument('', new groovy.json.JsonBuilder(payload).toPrettyString(), '')
sampler.setPostBodyRaw(true)

更多信息:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66537818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档