当前位置: 首页 > news >正文

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

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

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

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

目录

 

  • JMeter接口测试中文乱码问题总结
    • 请求消息中文显示乱码
    • 响应消息中文显示乱码
    • 被测试系统收到中文乱码

 


  • 请求消息中文显示乱码

    请求消息中文显示乱码

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

  • 解决办法: 
    打开 %JMeter_HOME%\bin\jmeter.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%\bin\jmeter.properties文件,搜索“sampleresult”,找到sampler的编码设置代码;修改编码与被测系统同样的编码方式,如UTF-8,去掉“#”(注释符号),保存设置,并重启Jmeter验证即可。 
    修改Jmeter的默认编码方式


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

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

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

    • 解决办法: 
      弄清被测系统编码方式,把发送的请求的编码方式设置成与被测系统的编码方式一致即可,如下图红框所示。 
      设置发送的请求的编码方式

相关文章:

  • loongson官方PMON使用
  • 系统单据号生成规则推荐
  • Saltstack-4:数据系统grains
  • 脚踏七彩Scala.js,进军前端娱乐圈
  • Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded??
  • Shell命令-线上查询及帮助之man、help
  • 如何设置Apache虚拟域名
  • 总结下我遇到过的接口测试
  • interface和setter,getter
  • python之路---04 列表 元组
  • 学习进度条
  • MongoDB优化与一些需要注意的细节
  • 星际荣耀获鼎晖投资A+轮投资,上半年将进行首枚入轨运载火箭
  • 让人一看就懂的excel相对引用和绝对引用案例解析
  • [bzoj 3534][Sdoi2014] 重建
  • IDEA常用插件整理
  • js ES6 求数组的交集,并集,还有差集
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 阿里研究院入选中国企业智库系统影响力榜
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 成为一名优秀的Developer的书单
  • 分布式熔断降级平台aegis
  • 记录一下第一次使用npm
  • 前端技术周刊 2019-02-11 Serverless
  • ​卜东波研究员:高观点下的少儿计算思维
  • # 数据结构
  • #include到底该写在哪
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (第一天)包装对象、作用域、创建对象
  • (独孤九剑)--文件系统
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (转)Linux下编译安装log4cxx
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • .bat批处理(一):@echo off
  • .Net Memory Profiler的使用举例
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接
  • .NET基础篇——反射的奥妙
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • .net中应用SQL缓存(实例使用)
  • @ResponseBody
  • @RestControllerAdvice异常统一处理类失效原因
  • [ 云计算 | Azure 实践 ] 在 Azure 门户中创建 VM 虚拟机并进行验证
  • []C/C++读取串口接收到的数据程序
  • [BJDCTF2020]The mystery of ip1
  • [BZOJ1010] [HNOI2008] 玩具装箱toy (斜率优化)
  • [FROM COM张]如何解决Nios II SBTE中出现的undefined reference to `xxx'警告
  • [JavaScript]如何讓IE9, IE8, IE7, IE6關閉視窗時不彈出對話訊息
  • [linux]linux命令学习-netstat
  • [PHP] 算法-字符串的左循环的PHP实现
  • [raspberry pi3] zram设置
  • [Redis]——数据一致性,先操作数据库,还是先更新缓存?
  • [SpringBoot系列]消息中间件解决方案