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

1、Jmeter簡介

一、輕量級測試工具
二、運行的時候必須安裝jdk
三、免安裝,安裝包解壓便可使用
四、跨平臺在Linux、windows、macos都可使用 java

2、Jmeter Http請求經常使用操做

參照上篇初學postman中的經常使用操做示例,在Jmeter中製做腳本 web

一、如何建立http接口腳本

   (1) 添加線程組
   (2) 添加http請求
   (3) 在http請求中寫入接口url、路徑、請求方式、參數
   (4) 添加查看結果樹
   (5) 調用接口、查看返回值shell

二、get請求

get請求的參數不是直接拼在url裏,而是寫在Parameters裏。macos

三、post請求

在Parameters中填入參數便可。apache

四、post請求,json入參

將json串填入Body Data中。json

五、文件上傳

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

六、文件下載

添加一個http請求:右鍵線程組,添加-Sampler-HTTP請求
寫好http請求中的url和路徑工具

添加beanshell,獲取到返回的文件內容,保存到一個文件裏面。右鍵線程組,添加-Sampler-BeanShell Samplerpost

       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();
複製代碼

查看結果

七、http接口腳本添加header

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

八、http接口腳本添加Cookie

右鍵點擊http請求,添加配置元件,選擇HTTP Cookie管理器,添加Cookier。

3、Jmeter WebService請求經常使用操做

一、如何建立webservice腳本

能夠百度搜索「天氣預報WebService」找到一個天氣預報的wsdl地址,作簡單的聯繫

   (1) 在soapui中新建已經soap項目,導入wsdl地址,獲取到請求報文、SOAPAction和請求url(在soapui的raw中能找到)

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

二、若導入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 可解決

4、Jmeter中的亂碼問題解決

一、 使用Jmeter進行測試,返回結果亂碼

解決方案:

在安裝目錄/bin/ jmeter.properties中將    sampleresult.default.encoding=ISO-8859-1

改成     sampleresult.default.encoding=utf-8

 

二、Jmeter編寫post腳本中Body Data輸入中文時亂碼

這不是亂碼,而是因在 3.0 版本對Body Data 進行了優化,致使默認字體(Consolas)不支持漢字顯示

解決方案:

修改配置文件{JMETER_HOME}\bin\jmeter.properties 中的默認顯示字體   #jsyntaxtextarea.font.family=Hack

改成系統支持的中文字體(可進入系統目錄【控制面板\全部控制面板項\字體】查看)便可。

jsyntaxtextarea.font.family=宋體

相關文章
相關標籤/搜索