JMeter接口測試中文亂碼問題總結

Meter接口測試中文亂碼問題總結

目錄


  • 請求消息中文顯示亂碼

    請求消息中文顯示亂碼

  • 產生原因: 
    這種情況在jmeter3.0的版本中才會產生。這不是亂碼,而是由於3.0中優化body data後,使用默認的字體(Consolas)不支持漢字的顯示。

  • 解決辦法: 
    打開 %JMeter_HOME%\bin\jmeter.properties文件,找到jsyntaxtextarea.font.family這個選項,取消前面的#號,使其使用Hack字體即可,當然,你也可以換成 宋體以及其他支持的字體集。 
    修改JMeter默認字體

  • 響應消息中文顯示亂碼

    響應消息中文顯示亂碼

  • 產生原因: 
    Jmeter的結果處理編碼與被測試對象的編碼不一致。Jmeter的sampler請求結果的默認編碼方式爲:ISO-8859-1(不支持中文),Jmeter的sampler請求結果的默認編碼方式爲:ISO-8859-1(不支持中文)。

  • 解決辦法一: 
    使用後置控制器”BeanShell PostProcessor”來動態修改結果處理編碼,使之與被測對象保持一致; 
    優點:靈活,隨時修改; 
    缺點:要根據不同的對象設置不同的編碼; 
    適用範圍:測試不同的公司項目,有些公司喜歡GBK,有些是UTF-8; 
    配置方法: 
    1、確定返回結果的編碼(可跟開發人員確認,如果是web頁面,可查看源文件得知); 
    可通過查看源文件得知網頁的編碼方式 
    2、右鍵httpSampler,添加“BeanShell PostProcessor”元件; 
    BeanShell PostProcessor元件 
    3、設置“BeanShell PostProcessor”;在“Script”中增加“prev.setDataEncoding(“UTF-8”);” 
    設置BeanShell PostProcessor 
    4、測試驗證,OK,設置完畢。

  • 解決辦法二: 
    修改Jmeter的默認編碼方式; 
    優點:一次修改,長久使用; 
    缺點:如果要測試不同的公司項目,需要多次修改,較麻煩; 
    適用範圍:測試本公司的項目,畢竟同一個公司的項目基本上都是使用同一個編碼的; 
    配置方法: 
    1、打開 %JMeter_HOME%\bin\jmeter.properties文件,搜索“sampleresult”,找到sampler的編碼設置代碼;修改編碼與被測系統同樣的編碼方式,如UTF-8,去掉“#”(註釋符號),保存設置,並重啓Jmeter驗證即可。 
    修改Jmeter的默認編碼方式


  • 被測試系統收到中文亂碼

    被測試系統收到中文亂碼 
    被測試系統收到中文亂碼

  • 產生原因: 
    發送的請求的編碼方式與被測系統的編碼方式不一致。

  • 解決辦法: 
    弄清被測系統編碼方式,把發送的請求的編碼方式設置成與被測系統的編碼方式一致即可,如下圖紅框所示。 
    設置發送的請求的編碼方式
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章