如何通过JSR223预处理器发送完整form-urlencoded格式POST请求数据
JSR223预处理器构造完整POST请求载荷方案
- 优先选用Groovy作为脚本执行语言,是JMeter官方认证的性能最优的JSR223实现,避免使用BeanShell等性能较低的引擎
- 直接在JSR223预处理器中编写脚本构造完整载荷,再注入到HTTP采样器中,JSON格式载荷示例代码如下:
// 按你的实际业务字段构造完整载荷 def payload = new groovy.json.JsonBuilder() // 大括号内替换为你需要的全部请求字段和对应值 payload { userId "12345" orderId "OD20240520001" amount 99.6 goodsList [ { goodsId "G001" count 2 }, { goodsId "G008" count 1 } ] } // 开启原始POST体配置,注入构造好的完整载荷 sampler.setPostBodyRaw(true) sampler.addNonEncodedArgument("", payload.toString(), "")
- 若你需要提交的是表单格式的载荷,无需使用JsonBuilder,直接拼接键值对字符串后注入即可,示例:
def formPayload = "username=test&password=123456&remember=1" sampler.setPostBodyRaw(true) sampler.addNonEncodedArgument("", formPayload, "")
配置校验:HTTP采样器本身不要填写任何参数内容,避免和脚本注入的载荷产生冲突。
内容的提问来源于stack exchange,提问作者Sadha Nanda
相关产品推荐
相关产品推荐

