jmeter接口測試--響應結果Unicode轉碼成中文

jmeter接口測試-響應結果Unicode轉碼成中文app

通常狀況下,接口返回數據都會通過加密,因此有時相應結果會顯示爲Unicode,所以,需添加BeanShell PostProcessor,加入代碼將其轉爲中文測試

1.線程中添加BeanShell PostProcessor加密

2.添加代碼    spa

String s2=new String(prev.getResponseData(),"UTF-8");線程

        char aChar;code

        int len= s2.length();orm

        StringBuffer outBuffer=new StringBuffer(len);blog

        for(int x =0; x <len;){接口

            aChar= s2.charAt(x++);get

            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='\t';

                    else if(aChar=='r')

                    aChar='\r';

                    else if(aChar=='n')

                    aChar='\n';

                    else if(aChar=='f')

                    aChar='\f';

                    outBuffer.append(aChar);}}else

                outBuffer.append(aChar);}

        prev.setResponseData(outBuffer.toString());

如圖:

相關文章
相關標籤/搜索