JMeter修改请求以及响应中的乱码

请求消息中文显示乱码

        

  • 产生原因 
    这种情况在jmeter3.0的版本中才会产生。这不是乱码,而是由于3.0中优化body data后,使用默认的字体(Consolas)不支持汉字s的显示。
  • 解决办法 
    打开%JMeter_HOME%\bin\jmeter.properties文件,找到jsyntaxtextarea.font.family这个选项,取消前面的#号,使其使用Hack字体即可,当然,你也可以换成 宋体以及其他支持的字体集。 

响应消息中文显示乱码

     

  • 产生原因 
    Jmeter
    的结果处理编码与被测试对象的编码不一致。Jmetersampler请求结果的默认编码方式为:ISO-8859-1(不支持中文),Jmetersampler请求结果的默认编码方式为:ISO-8859-1(不支持中文)。

解决办法一

使用后置控制器”BeanShell PostProcessor”来动态修改结果处理编码,使之与被测对象保持一致; 
       优点:灵活,随时修改; 
       缺点:要根据不同的对象设置不同的编码; 
       适用范围:测试不同的公司项目,有些公司喜欢GBK,有些是UTF-8 
       配置方法 
       1
、确定返回结果的编码(可跟开发人员确认,如果是web页面,可查看源文件得知); 
         


       2、右键httpSampler,添加“BeanShell PostProcessor”元件; 
         


       3、设置“BeanShell PostProcessor”;在“Script”中增加“prev.setDataEncoding(“UTF-8”);” 
         
       4、测试验证,
OK,设置完毕。

解决办法二

 修改Jmeter的默认编码方式:
       优点:一次修改,长久使用; 
       缺点:如果要测试不同的公司项目,需要多次修改,较麻烦; 
       适用范围:测试本公司的项目,毕竟同一个公司的项目基本上都是使用同一个编码的; 
       配置方法 
       打开 %JMeter_HOME%\bin\jmeter.properties文件,搜索“sampleresult.default.encoding”,找到sampleresult.default.encoding的编码设置代码;修改编码与被测系统同样的编码方式,如UTF-8,去掉“#”(注释符号),保存设置,并重启Jmeter验证即可。 

推荐使用方法二,直接一次性解决。


版权声明:本文为qq_41080421原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。