JMETER:获得unicode作为回应

时间:2018-01-22 23:56:01

标签: jmeter

我的jmeter响应如下:

  {"result":"fail", "reason":"\u0027radius\u0027 should be greater than 0 and less than 90000"}

我想声明响应,但是\ u0027是垃圾值,我想在jmeter响应中丢弃这些值。我尝试更改jmeter.properties文件中的unicode值,但它没有帮助。 提前谢谢。

1 个答案:

答案 0 :(得分:3)

\u0027不是“垃圾”,它是apostrophe character所以它可能是您应用程序中的错误。而且,根据JSON website

,撇号不需要转义

JSON Escaping

所以我建议仔细检查要求。

与此同时,您仍然可以在ContainsResponse Assertion“断言”回复,Matches模式将输入视为regular expression,因此模式不一定是完全匹配,就正则表达式而言可能是“匹配”

最后,您可以使用JSR223 PostProcessor替换这些unicode转义符和撇号,并且代码如下:

def unicode = new String(prev.getResponseData())
log.info('Unicode: ' + unicode) 
def normal = unicode.replaceAll('\\\\u0027','\'')
log.info('Normal: ' + normal)
prev.setResponseData(normal, 'UTF-8')

它会在响应中用\u0027替换所有出现的',并用新值替换响应数据:

JMeter Groovy Replace Value in Response

更多信息:Apache Groovy - Why and How You Should Use It