Jmeter學習筆記一_http請求、WebService請求


一、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=宋體

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM