Jmeter接口测试响应数据中文显示为Unicode码的解决方法

问题:使用jmeter测试接口,返回响应数据汉字显示为Unicode

Jmeter接口测试响应数据中文显示为Unicode码的解决方法_第1张图片

解决结果:

Jmeter接口测试响应数据中文显示为Unicode码的解决方法_第2张图片

解决过程:
1.修改jmeter配置文件中的默认编码
在Jmeter的安装路径下打开bin文件夹下的jmeter.properties文件,搜索关键词default.encoding定位到语句【#sampleresult.default.encoding=ISO-8859-1】。
将注释#删掉,并改成utf-8编码,如下:

Jmeter接口测试响应数据中文显示为Unicode码的解决方法_第3张图片

 2.添加后置处理器BeanShellPostProcessor和转码代码
添加后置处理器BeanShellPostProcessor,在Script中附上转码代码

Jmeter接口测试响应数据中文显示为Unicode码的解决方法_第4张图片

转码代码如下:

//获取响应代码Unicode编码的
        String s2=new String(prev.getResponseData(),"UTF-8");
//---------------以下步骤为转码过程---------------
        char aChar;
        int len= s2.length();
        StringBuffer outBuffer=new StringBuffer(len);
        for(int x =0; x 

PS:
1.原理:通过BeanShell内置变量prev,获得响应数据,经过java程序编码,把Unicode代码转成中文,最后修改查看结果树中响应数据为转换完毕的中文
2.在性能试前,请把这个后置处理器删除,不然会大量消耗本机的内存和CPU,影响性能的结果

 

你可能感兴趣的:(自动化测试,java,开发语言)