接口测试 [求助][Jmeter] jmx 为 xml 文件,用 Java 在生成该 xml 文件时,如何生成 bodyData 参数化里的参数

樂易 · May 14, 2019 · Last by carlsenshen replied at May 17, 2019 · 676 hits

背景

  • jmx为xml文件,用Java dom4j来生成对应的xml文件

问题描述

  • jmeter在bodyData里,参数化是直接${taskId_1},如下图

  • 而我自己用java生成的xml文件丢到jmeter里面查看,格式如下图,直接变成了一串字符串

求助

请问如何用Java实现把${taskId_1}这一整块塞到value里面?如第一张图所示

共收到 10 条回复 时间 点赞

把双引号去掉就行了吧?

樂易 #2 · May 14, 2019 作者
Jerry li 回复

嗯,需要的是去掉引号,但是我这边前面用String拼接成"${task_1}",然后用fastjson在body里面直接set进去,像下面这样

然后出来的直接就是String,想问一下有没有哪种方法可以直接不用引号,直接把${task_1}放到value里面

你用json序列化出来肯定是带引号的,不带引号只能自己拼接字符串

樂易 #4 · May 14, 2019 作者
arrow 回复

我自己拼接的字符串也是String形式的,请问自己拼接字符串具体怎么实现

JSONPath.set 的value可以不是String,但是${param} 这个形式只能是字符串了。。
JMeter里面 "${param}" 也是会替换成变量值的吧,请求发到服务端json转对象应该也是可以兼容的

樂易 #6 · May 15, 2019 作者
Mr_Peace 回复

我试了一下,JMeter里面 "${param}"这个不会转换,直接当字符串传过去了,服务端返回参数类型错误,emmm,这就很愁了

樂易 回复

没转的话 说明没这个变量,可以在debug sampler里面检查下

樂易 #8 · May 15, 2019 作者
Mr_Peace 回复

按照这个思路排查了一下,真的可以,问题解决了,谢谢大佬👍

樂易 回复

☺ 惭愧惭愧

Author only
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up