jmeter响应信息unicode 编码转成中文

Posted a00ium

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter响应信息unicode 编码转成中文相关的知识,希望对你有一定的参考价值。

在jmeter 发送请求过程中,有时候后台返回的是unicode 代码,如:

{"status":-1,"msg":"u63d0u4ea4u6570u636eu4e0du8db3"}

技术图片

 


手动转换成中文为:

{"status":-1,"msg":"提交数据不足"}

需要使用jmeter 把响应内容转换成中文显示,方便查看。思路是使用bean shell 把unicode响应结果转换成中文,步骤为:

1、右键点击请求,添加后置处理器,BeanShell PostProcessor

技术图片

2、在BeanShell PostProcessor(bean shell脚本语法和用法和java一致)设置脚本为:

private static String ascii2native ( String asciicode )
{
    String[] asciis = asciicode.split ("\\\\u");
    String nativeValue = asciis[0];
    try
    {
        for ( int i = 1; i < asciis.length; i++ )
        {
            String code = asciis[i];
            nativeValue += (char) Integer.parseInt (code.substring (0, 4), 16);
            if (code.length () > 4)
            {
                nativeValue += code.substring (4, code.length ());
            }
        }
    }
    catch (NumberFormatException e)
    {
        return asciicode;
    }
    return nativeValue;
}
String asciicode =new String(prev.getResponseData(),"UTF-8");
prev.setResponseData(ascii2native(asciicode));

 

 技术图片

3、执行查看响应信息,响应信息转换为中文:

技术图片

 

 注意:如果还不能转换成中文,需要把jmeter中的配置文件jmeter.properties的配置项sampleresult.default.encoding 修改为utf-8,如不存在这一配置项就添加一行

sampleresult.default.encoding=utf-8

再重新启动jmeter、执行,就可以显示为中文了

以上是关于jmeter响应信息unicode 编码转成中文的主要内容,如果未能解决你的问题,请参考以下文章

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

Jmeter后置处理器解析unicode 编码转换

JMeter样本响应编码

JMETER响应数据返回json乱码

解决jmeter做接口测试时响应数据中文显示乱码或者Unicode码的问题

Jmeter 处理Unicode编码转为中文