背景:使用Jmeter進行性能測試,在DIEA中調試好腳本之后,打包拷貝至Jmeter工具中,再進行調試
問題重現:
1.在IDEA中調試成功,如圖所示:
2.Jmeter執行結果如下圖:
調查思路:
1.查閱資料后,根據經常出錯點
①分別查看並修改maven、JDK、IDEA、Jmeter的編碼配置均為UTF-8
②給請求添加后置處理器bean shell,設置編碼格式為utf-8
重新啟動,執行后,仍然報相同錯誤
2.使用編碼工具查看亂碼問題,確定原來編碼為UTF-8(證明代碼編寫及打包均沒有問題),現在編碼為GBK(說明是Jmeter問題,且修改的jmeter.properties中的編碼格式未生效)
后來通過閱讀源碼,發現jmeter默認啟動編碼格式為GBK,至此問題找到
解決:
在jmeter的/bin目錄下找到jmeter.bat,使用文本打開。修改配置,使其默認啟動編碼為UTF-8,具體如下:
1.在rem Collect the settings defined above和set ARGS=%DUMP% %HEAP% %VERBOSE_GC% %GC_ALGO% %DDRAW% %SYSTEM_PROPS%中添加:set FILEENCODING=-Dfile.encoding=UTF-8
2.在set ARGS=%DUMP% %HEAP% %VERBOSE_GC% %GC_ALGO% %DDRAW% %SYSTEM_PROPS%添加%FILEENCODING%
如下圖所示:
3.重新啟動,並執行腳本結果成功