zoukankan      html  css  js  c++  java
  • jmeter响应数据Unicode编码转换为汉字

    2018-07-09     10:24:34

    每次用jmeter做接口测试时,响应信息中文总是显示Unicode编码格式,每次都要在网上寻找这一段转换的代码,但是我发现在网上找这段代码有点麻烦,像我这么懒的人觉得还是自己记录下来方便以后寻找。

    1、添加后置处理器:BeanShell PostProcessor

    2、粘贴以下代码:

    //获取响应代码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 <len;){
                aChar= s2.charAt(x++);
                if(aChar=='\'){
                    aChar= s2.charAt(x++);
                    if(aChar=='u'){
                        int value =0;
                        for(int i=0;i<4;i++){
                            aChar= s2.charAt(x++);
                            switch(aChar){
                                case'0':
                                case'1':
                                case'2':
                                case'3':
                                case'4':
                                case'5':
                                case'6':
                                case'7':
                                case'8':
                                case'9':
                                    value=(value <<4)+aChar-'0';
                                    break;
                                case'a':
                                case'b':
                                case'c':
                                case'd':
                                case'e':
                                case'f':
                                    value=(value <<4)+10+aChar-'a';
                                    break;
                                case'A':
                                case'B':
                                case'C':
                                case'D':
                                case'E':
                                case'F':
                                    value=(value <<4)+10+aChar-'A';
                                    break;
                                default:
                                    throw new IllegalArgumentException(
                                            "Malformed   \uxxxx  encoding.");}}
                        outBuffer.append((char) value);}else{
                        if(aChar=='t')
                            aChar='	';
                        else if(aChar=='r')
                        aChar='
    ';
                        else if(aChar=='n')
                        aChar='
    ';
                        else if(aChar=='f')
                        aChar='f';
                        outBuffer.append(aChar);}}else
                    outBuffer.append(aChar);}
    //-----------------以上内容为转码过程---------------------------
    //将转成中文的响应结果在查看结果树中显示
            prev.setResponseData(outBuffer.toString());

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

    sampleresult.default.encoding=utf-8

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

    OK,大功告成,以后再也不用去网上大量搜索了。

  • 相关阅读:
    Oracle SQL语句大全—查看表空间
    Class to disable copy and assign constructor
    在moss上自己总结了点小经验。。高手可以飘过 转贴
    在MOSS中直接嵌入ASP.NET Page zt
    Project Web Access 2007自定义FORM验证登录实现 zt
    SharePoint Portal Server 2003 中的单一登录 zt
    vs2008 开发 MOSS 顺序工作流
    VS2008开发MOSS工作流几个需要注意的地方
    向MOSS页面中添加服务器端代码的另外一种方式 zt
    状态机工作流的 SpecialPermissions
  • 原文地址:https://www.cnblogs.com/jasmine0627/p/9282538.html
Copyright © 2011-2022 走看看