我是用笨方法把结果做成一个JsonArray的格式,方便后续的脚本解析这个结果。
解释一下这几句:
doc.each
{
RpData=RpData+it.toString()+","
}
def res = "["+RpData[0..-2]+']'
SampleResult.setResponseData(res)
1) doc是得到的查询结果条目集,RpData是把查到的每个结果拼接在一起,中间用逗号隔开,但是最后多一个逗号,所以得截取掉,RpData[0..-2]就是截掉最后一位的逗号。
2) 用中括号括起来,就“人工制造”了一个JsonArray。其实,groovy有专门解析Json的API,我还要学习下用法。
3) 把res这个字符串赋值给响应,最后就能从结果树的响应数据处,看到这个结果了。
4、现在还有一个groovy响应的中文乱码问题,改一下Jmeter安装目录/bin/jmeter.properties文件即可。
#sampleresult.default.encoding=ISO-8859-1为 sampleresult.default.encoding=utf-8 (去掉#注释),重启JMeter即可,如下图所示: