溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Jmeter之響應(yīng)結(jié)果亂碼解決

發(fā)布時間:2020-07-30 18:24:15 來源:網(wǎng)絡(luò) 閱讀:9482 作者:Ye_Kwii 欄目:軟件技術(shù)

場景:

在測試過程中,我們可能需要查看結(jié)果樹,但是發(fā)現(xiàn)里面的響應(yīng)數(shù)據(jù)在“Document”以外的其他表現(xiàn)形式下都有亂碼,如下圖就是設(shè)置了以Text的形式展示,響應(yīng)數(shù)據(jù)包含亂碼:

Jmeter之響應(yīng)結(jié)果亂碼解決



分析:原因是Jmeter的結(jié)果處理編碼與被測試對象的編碼不一致;

1、Jmeter的sampler請求結(jié)果的默認(rèn)編碼方式為:ISO-8859-1(不支持中文);

2、被測對象的結(jié)果編碼可能是gbk、UTF-8;


解決方法:

1、使用后置控制器"BeanShell PostProcessor"來動態(tài)修改結(jié)果處理編碼,使之與被測對象保持一致;

優(yōu)點:靈活,隨時修改;

缺點:要根據(jù)不同的對象設(shè)置不同的編碼,

適用范圍:測試不同的公司項目,有些公司喜歡GBK,有些事UTF-8;


2、修改Jmeter的默認(rèn)編碼;

優(yōu)點:一次修改,長久使用;

缺點:如果要測試不同的公司項目,需要多次修改,較麻煩;

使用范圍:測試本公司的項目,畢竟同一個公司的項目基本上都是使用同一個編碼的;


那么就很明確了,大家可以根據(jù)自己的需要來設(shè)置;

下面說明兩個方法的操作步驟;

1、使用后置控制器"BeanShell PostProcessor"

(1)確定返回結(jié)果的編碼(可跟開發(fā)人員確認(rèn),如果是web頁面,可查看源文件得知),如;

Jmeter之響應(yīng)結(jié)果亂碼解決


(2)右鍵httpSampler,添加“BeanShell PostProcessor”元件;

Jmeter之響應(yīng)結(jié)果亂碼解決


(3)設(shè)置“BeanShell PostProcessor”;

在“Script”中增加“prev.setDataEncoding("UTF-8");”

Jmeter之響應(yīng)結(jié)果亂碼解決


(4)驗證是否解決,如下圖,已成功處理;

Jmeter之響應(yīng)結(jié)果亂碼解決



2、修改Jmeter的默認(rèn)編碼

(1)進(jìn)入%JmeterHome%/bin,找到Jmeter.properties,并打開;

Jmeter之響應(yīng)結(jié)果亂碼解決

(2)搜索“sampleresult”,找到sampler的編碼設(shè)置代碼;

Jmeter之響應(yīng)結(jié)果亂碼解決


(3)修改編碼為“UTF-8”,去掉“#”(注釋符號),保存設(shè)置,并重啟Jmeter;

Jmeter之響應(yīng)結(jié)果亂碼解決

(4)驗證是否解決,如下圖(無BeanShell PostProcessor),已成功處理;

Jmeter之響應(yīng)結(jié)果亂碼解決


延伸:

1、向服務(wù)器發(fā)送的post請求中存在亂碼(一般是中文)時,

可在請求中設(shè)置content-encoding,如UTF-8;

Jmeter之響應(yīng)結(jié)果亂碼解決


2、“BeanShell PostProcessor”一定要設(shè)置在http請求中么?

答:不是,后置處理器在監(jiān)聽器之前處理(如不知道元件的作用域與執(zhí)行順序請自行Google,我后面有時間再整理一份),所以只要在作用域內(nèi),后置處理器放哪里都是同樣的效果;

如下圖:

Jmeter之響應(yīng)結(jié)果亂碼解決


參考鳴謝:

testtang的jmeter響應(yīng)結(jié)果亂碼問題:http://www.cnblogs.com/tangmaokai/p/5830344.html


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI