生活随笔
收集整理的這篇文章主要介紹了
jmeter将响应结果由Unicode转码成中文展示
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一般,線上的接口返回數據都會經過加密展示,如果想中文展示,則需要添加BeanShell PostProcessor,并加入代碼,如下圖:
并插入如下代碼:
//獲取響應代碼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='\t';else if(aChar=='r')aChar='\r';else if(aChar=='n')aChar='\n';else if(aChar=='f')aChar='\f';outBuffer.append(aChar);}}elseoutBuffer.append(aChar);}
//-----------------以上內容為轉碼過程---------------------------
//將轉成中文的響應結果在查看結果樹中顯示prev.setResponseData(outBuffer.toString());
然后,重啟jmeter即可。
注意:在進行正式壓力測試時,要記得把BeanShell PostProcessor禁用掉,否則影響測試結果。
轉載于:https://blog.51cto.com/11959825/2053509
總結
以上是生活随笔為你收集整理的jmeter将响应结果由Unicode转码成中文展示的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。