JMeter 接口测试解决响应数据中文乱码方法--Lph

JMeter 接口测试解决响应数据中文乱码方法(用过第2种方法,可以生效)

发表于:2017-9-25 15:40  作者:DC_ing   来源:51Testing软件测试网采编
字体:大 中 小 | 上一篇 | 下一篇 |我要投稿 | 推荐标签: 性能测试工具 Jmeter 接口测试
  产生原因:
  Jmeter的结果处理编码与被测试对象的编码不一致。Jmeter的sampler请求结果的默认编码方式为:ISO-8859-1(不支持中文),Jmeter的sampler请求结果的默认编码方式为:ISO-8859-1(不支持中文)。
  解决方法一:
  使用后置控制器 BeanShell PostProcessor 来动态修改结果处理编码,使之与被测对象保持一致;
  优点:灵活,随时修改,不会更改其他请求的结果编码;
  缺点:要根据不同的对象设置不同的编码;
  适用范围:测试不同的公司项目,有些公司喜欢GBK,有些是UTF-8;
  配置方法:
  1、确定返回结果的编码(可跟开发人员确认,如果是web页面,可查看源文件得知),下图是在 JMeter 中【查看结果树】监听器中查看;
  查看响应数据编码.jpg
  2、右键 http Sampler,添加 BeanShell PostProcessor 后置处理器;
  添加BeanShell PostProcessor处理器.jpg
  3、设置 BeanShell PostProcessor;在Script中增加 prev.setDataEncoding("UTF-8"); (PS:脚本的符号需使用英文符号)
  添加结果固定编码.jpg
  4、测试验证,OK,设置完毕。
  解决办法二:
  修改Jmeter的默认编码方式;
  优点:一次修改,长久使用;
  缺点:如果要测试不同的公司项目,需要多次修改,较麻烦;
  适用范围:测试本公司的项目,毕竟同一个公司的项目基本上都是使用同一个编码的;
  配置方法:
  1、确定返回结果的编码(可跟开发人员确认,如果是web页面,可查看源文件得知);
  2、打开 %JMeter_HOME%\bin\jmeter.properties文件,搜索 default.encoding,找到 jmeter 的默认编码设置;修改编码与被测系统同样的编码方式,如UTF-8,去掉“#”(注释符号),保存设置。
  更改 jmeter 默认编码.jpg
  3、重启Jmeter验证即可。
 
jmeter返回的乱码图及用了之后显示正常的图:
 
posted @ 2021-11-10 16:39  Fecility  阅读(56)  评论(0)    收藏  举报