我有来自Excel中使用的CSV的POST数据
{"Name":"","Token":-1,"TimeScheduleToken":"1","AccessRule":[{"ObjectToken":"528","ObjectName":"Common_ wash_Room_Exit","RuleToken":"528","RuleType":2,"StartDate":null,"EndDate":null,"ArmingRightsId":null,"ControlModeId":null}]}
执行后执行时,请求中的JSON数据与CSV中的JSON数据不同。在图像中找到请求
为键值对提供的报价加倍并在请求中显示。如何解决这个问题,请提出建议
答案 0 :(得分:0)
Vittal,
我试图在JMeter 3.3中重现您的问题,并注意到它的工作正常。请在下面找到您需要在“CSV数据配置”元素中执行的设置。
此外,我建议您在为数据创建任何csv文件时打开记事本并输入数据,然后将其另存为.csv文件,以避免数据中出现任何不必要的元素/字符。
您还可以参考博客文章,了解有关使用JMeter进行API负载测试的更多信息:JMeter Load Testing Against APIs
答案 1 :(得分:0)
我不知道你是如何得到这些双引号的,但是这里有你如何在运行时删除它们:
将以下代码放入“脚本”区域:
def originalData = sampler.getArguments().getArgument(0).getValue()
def normalizedData = originalData.replaceAll("\"\"","\"")
sampler.getArguments().removeAllArguments()
sampler.addNonEncodedArgument("",normalizedData,"")
sampler.setPostBodyRaw(true)
sampler
是父样本类实现的简写,如果HTTP Request采样器为HTTPSamplerProxy,请参阅所有可用函数和属性的类文档。
请参阅Apache Groovy - Why and How You Should Use It文章,了解有关在JMeter测试中使用Groovy脚本的更多信息。