• JMeter接口测试中文乱码问题总结


    在测试过程中遇到了请求json串中文乱码,所以查看了这篇文章,将字符集修改后,乱码问题已经处理。

    转载http://blog.csdn.net/qing_java/article/details/69728460

    JMeter接口测试中文乱码问题总结

    目录


    • 请求消息中文显示乱码

      请求消息中文显示乱码

    • 产生原因: 
      这种情况在jmeter3.0的版本中才会产生。这不是乱码,而是由于3.0中优化body data后,使用默认的字体(Consolas)不支持汉字的显示。

    • 解决办法: 
      打开 %JMeter_HOME%injmeter.properties文件,找到jsyntaxtextarea.font.family这个选项,取消前面的#号,使其使用Hack字体即可,当然,你也可以换成 宋体以及其他支持的字体集。 
      修改JMeter默认字体

    • 响应消息中文显示乱码

      响应消息中文显示乱码

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

    • 解决办法一: 
      使用后置控制器”BeanShell PostProcessor”来动态修改结果处理编码,使之与被测对象保持一致; 
      优点:灵活,随时修改; 
      缺点:要根据不同的对象设置不同的编码; 
      适用范围:测试不同的公司项目,有些公司喜欢GBK,有些是UTF-8; 
      配置方法: 
      1、确定返回结果的编码(可跟开发人员确认,如果是web页面,可查看源文件得知); 
      可通过查看源文件得知网页的编码方式 
      2、右键httpSampler,添加“BeanShell PostProcessor”元件; 
      BeanShell PostProcessor元件 
      3、设置“BeanShell PostProcessor”;在“Script”中增加“prev.setDataEncoding(“UTF-8”);” 
      设置BeanShell PostProcessor 
      4、测试验证,OK,设置完毕。

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


      • 被测试系统收到中文乱码

        被测试系统收到中文乱码 
        被测试系统收到中文乱码

      • 产生原因: 
        发送的请求的编码方式与被测系统的编码方式不一致。

      • 解决办法: 
        弄清被测系统编码方式,把发送的请求的编码方式设置成与被测系统的编码方式一致即可,如下图红框所示。 
        设置发送的请求的编码方式
  • 相关阅读:
    Spring Boot 7:配置文件信息读取
    Spring Boot 6:自定义filter
    Spring AOP:Java动态代理和CGlib
    Spring AOP:概念
    设计模式(二)---策略模式
    设计模式(一)--装饰模式
    java并发编程实战笔记
    剑指offer java -查找旋转数组的最小数字
    读书计划
    协议初学
  • 原文地址:https://www.cnblogs.com/ceshi2016/p/7992258.html
Copyright © 2020-2023  润新知