一、Jmeter簡介
1、輕量級測試工具
2、運行的時候必須安裝jdk
3、免安裝,安裝包解壓即可使用
4、跨平台在Linux、windows、macos均可使用
二、Jmeter Http請求常用操作
參照上篇初學postman中的常用操作示例,在Jmeter中制作腳本
1、如何創建http接口腳本
(1) 添加線程組
(2) 添加http請求
(3) 在http請求中寫入接口url、路徑、請求方式、參數
(4) 添加查看結果樹
(5) 調用接口、查看返回值

2、get請求
get請求的參數不是直接拼在url里,而是寫在Parameters里。


3、post請求
在Parameters中填入參數即可。


4、post請求,json入參
將json串填入Body Data中。


5、文件上傳
選擇Files Upload來做文件上傳,參數名稱填file與接口文檔保持一致,編碼類型選擇utf-8避免亂碼。


6、文件下載
添加一個http請求:右鍵線程組,添加-Sampler-HTTP請求
寫好http請求中的url和路徑

添加beanshell,獲取到返回的文件內容,保存到一個文件里面。右鍵線程組,添加-Sampler-BeanShell Sampler
beanshell是下載腳本,下載的話,有一步是要把文件保存到咱們本地的,這個jmeter沒有現成的東西可以用,就得自己寫beanshell來實現,把文件保存到本地。
當然你如果要寫beanshell的話,你得會它的語法,它就是java寫的。不過也不用愁不會寫java咋整,這個保存文件的是死格式就這么寫,記住就行了,需要下載的時候復制過去就行。
1 import java.io.*; 2 3 4 byte[] result = prev.getResponseData(); //這個是獲取到請求返回的數據,prev是獲取上個請求的返回 5 6 String file_name = "C:\\Users\\bjniuhanyang\\Desktop\\BaiDu.jpg"; //代表存放文件的位置和文件名 7 8 File file = new File(file_name); 9 10 FileOutputStream out = new FileOutputStream(file); 11 12 out.write(result); 13 14 out.close();

查看結果

7、http接口腳本添加header
右鍵點擊http請求,添加配置元件,選擇HTTP信息頭管理器,添加header。




8、http接口腳本添加Cookie
右鍵點擊http請求,添加配置元件,選擇HTTP Cookie管理器,添加Cookier。




三、Jmeter WebService請求常用操作
1、如何創建webservice腳本
可以百度搜索“天氣預報WebService”找到一個天氣預報的wsdl地址,做簡單的聯系
(1) 在soapui中新建已經soap項目,導入wsdl地址,獲取到請求報文、SOAPAction和請求url(在soapui的raw中能找到)


(2) 打開jmeter新建一個線程組
(3) 新建一個SOAP/XML-RPC Request
(4) 把url、soapaction和請求報文寫到soaprequest中
(5) 調用接口、查看返回值

2、若導入wsdl文件或者url報錯
在project測試中,如果引入wsdl報如下的錯誤:
Error loading [http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl]: org.apache.xmlbeans.XmlException: java.io.CharConversionException: Characters larger than 4 bytes are not supported: byte 0xb1 implies a length of more than 4 bytes
解決方案:關閉程序並找到SoapUI的安裝位置中的SoapUI-4.6.4.vmoptions這個文件,在末尾加入
-Dfile.encoding=UTF8 可解決
四、Jmeter中的亂碼問題解決
1、 使用Jmeter進行測試,返回結果亂碼
解決方案:
在安裝目錄/bin/ jmeter.properties中將 sampleresult.default.encoding=ISO-8859-1
改為 sampleresult.default.encoding=utf-8
2、Jmeter編寫post腳本中Body Data輸入中文時亂碼

這不是亂碼,而是因在 3.0 版本對Body Data 進行了優化,導致默認字體(Consolas)不支持漢字顯示
解決方案:
修改配置文件{JMETER_HOME}\bin\jmeter.properties 中的默認顯示字體 #jsyntaxtextarea.font.family=Hack
改為系統支持的中文字體(可進入系統目錄【控制面板\所有控制面板項\字體】查看)即可。
jsyntaxtextarea.font.family=宋體

