接口測試實例(Road)

以getObjectByCode接口爲例,用jmeter2.13來進行接口測試。算法

測試前準備:
測試工具及版本:jmeter 2.13 r1665067(須包含__MD5函數)
示例接口:8.1根據單品編碼查詢上架狀態的單品詳情數據庫

接口方法:/single/v1/getObjectByCode
1.準備jmeter免安裝包,把...\bin\jmeter.bat添加到桌面快捷方式。
2.點擊電腦桌面jmeter快捷方式,進入jmeter界面。界面默認會有一個測試計劃和一個工做臺,測試計劃下默認會有一個線程組。apache

3.測試計劃可命名爲商品服務,右擊測試計劃->添加->Threads(Users)->線程組,新建一個線程組,線程組命名爲根據單品編碼查詢上架狀態的單品詳情tomcat

4.在線程組下添加HTTP請求,路徑爲右擊「根據單品編碼查詢上架狀態的單品詳情」->添加->Sampler->HTTP請求
5.根據wiki的「根據單品編碼查詢上架狀態的單品詳情」接口文檔和環境文檔在HTTP請求界面填寫詳細信息
5.1在Web服務器填寫
服務器名稱或IP:172.18.0.120 端口號:7989
5.3在請求參數區域,點擊「添加」按鈕添加請求參數
請求參數列表以下:
名稱 值
服務器

請求的全部參數,須要根據參數名=參數值的格式,按照字符字典順序(asscii值大小)排序,若遇到相同首字符,則判斷第二個字符,以此類推,待簽名字符串須要以「參數名1=參數值1&參數名2=參數值2&..&參數名N=參數值N」的規則進行拼接。app

在對請求的參數作簽名時,對於請求參數列表中那些可空的參數,若是選擇使用它們,那麼這些參數的參數值必須不能爲空或空值。不然請從參數列表中移除參數值爲空的參數鍵值對。函數

在對請求的參數作簽名時,這些參數必須來源於請求參數列表,而且去除列表中的參數h。工具

用簽名密鑰(appKey)對請求參數字符串MD5算法進行簽名後,將獲得的摘要添加到請求參數字符尾部,簽名字符串與請求參數字符串之間用&分隔。測試

6.在線程組下添加用戶參數,路徑爲右擊「根據單品編碼查詢上架狀態的單品詳情」->添加->前置處理器->用戶參數。編碼

7.把time參數化,在用戶參數界面點擊添加變量,在「名稱」填寫time,在「用戶_1」內填寫${__time(/1000,)}。
這樣作的目的是保證請求參數中的t的值與MD5加密的t值保持一致。

8.添加CSV文件,路徑爲右擊「根據單品編碼查詢上架狀態的單品詳情」->添加->配置元件->csv data set config

9.在CSV Data Set Config界面填寫文件名、編碼格式、參數名、分隔符,其它的取默認值。

注意:jmx文件和.txt(.csv)文件須放在同一目錄。示例中的jmx文件和CSV文件放在D:\apache-jmeter-2.13\testplan,分隔符不填寫時以,分隔,填寫時以填寫的符號進行分隔。

Filename: getObjectByCode.txt/getObjectByCode.csv
File encoding:utf-8
Variable Names(comma-delimited): appId,channel,channelIp,code,terminalType
Delimiter(use ‘\t’ for tab): ,

10.在getObjectByCode.txt文件中填寫有表明性的請求參數的值,包括正常值、異常值、空值。

11.getObjectByCode.txt文件中有12條請求參數值,設置循環次數爲12,點擊「根據單品編碼查詢上架狀態的單品詳情」,設置循環次數爲12,其它的取默認值。

12.添加察看結果樹,路徑爲右擊「商品服務」->添加->監聽器->察看結果樹

13.點擊啓動按鈕(綠色三角形),執行接口測試

14.若是有多個線程組時,方便更清楚地查看結果,能夠選擇禁用其它線程組,啓用當前線程組;直接右鍵->禁用。

15.點擊察看結果樹->設置響應數據顯示格式爲JSON->點擊任意一個HTTP請求->點擊響應數據,這樣能夠查看結果
點擊請求能夠查看請求的參數是否正確

點擊清除和清除所有按鈕均可以清除結果

16.要去-測試數據庫(172.18.1.149)查詢HWG_PRT_SINGLE表,驗證jmeter響應數據是正確:參數的數量、參數的值。
對應SQL命令爲:SELECT * FROM HWG_PRT_SINGLE WHERE HWG_PRT_SINGLE.SINGLE_CODE='S0002938490'

17.jmeter接口測試過程當中,能夠在172.18.0.120上查看對應日誌。對應的命令爲:
cd /home/tomcat/tomcat-product/logs
tail -f catalina.out

相關文章
相關標籤/搜索