Jmeter介面自動化第一課(測試用例)
前端時間,一口氣連續出了12篇介面測試的課程,終於畫上了句號,小編也如釋重負。現在繼續出介面自動化的系列,相信不少小夥伴也迫不及待的想學習jmeter了,話不多說,直接入正題。
自動化思維七步曲:
第一步:分析需求(任何測試都要先分析需求,沒有需求的測試都是瞎扯淡)
第二步:寫測試用例(自動化也得寫測試用例,並且要比功能測試更詳細)
第三步:建立測試計劃
第四步:將測試用例用指令碼實現
第五步:執行用例
第六步:檢驗測試結果
第七步:輸出測試報告
一、分析介面需求
功能:獲取城市天氣預報
http請求方式:get
請求url:http://www.weather.com.cn/weather/citycode.shtml
請求引數
引數名稱:citycode
引數格式:101020100(上海)
101010100(北京)
101280601(深圳)
二、新增執行緒組
2.1點測試計劃右鍵新增-Threads-執行緒組
2.2執行緒組介面(這個介面主要是用於效能測試用,這裡主要講介面自動化,就不多講了)
三、新增一個http請求sample
新建後,預設顯示HTTP請求,這裡可以直接改成:獲取上海天氣
四、填入介面引數(先測試上海地區的天氣)
只需要如上圖五個地方填寫引數就OK了,回到最前面介面需求,
之前講過介面系列,對介面測試熟悉的,這裡很容易分析出
-
伺服器名稱為:www.weather.com.cn
-
協議型別:http
-
請求方式:get
-
請求路徑:/weather/citycode.shtml
-
citycode:101020100(上海)
把這五個地方按號入座就行了
五、檢視請求結果:新增結果樹和聚合報告
六、執行用例
-
點執行按鈕
-
點左側檢視結果樹
-
點中間測試case
-
點右側響應資料,檢視服務端返回結果
-
響應資料有內容,說明請求成功,伺服器正常返回
七、新增斷言
測試結果有了,下一步要去檢測測試結果是不是符合預期,這時候就需要新增斷言
在剛才測試結果裡面copy一段關鍵字,檢測測試結果是不是符合預期
八、檢視聚合報告
Label:每個 JMeter 的 element(例如 HTTP Request)都有一個 Name 屬性,這裡顯示的就是 Name 屬性的值
#Samples:表示你這次測試中一共發出了多少個請求,如果模擬10個使用者,每個使用者迭代10次,那麼這裡顯示100
Average:平均響應時間——預設情況下是單個 Request 的平均響應時間,當使用了 Transaction Controller 時,也可以以Transaction 為單位顯示平均響應時間
Median:中位數,也就是 50% 使用者的響應時間
90% Line:90% 使用者的響應時間
Min:最小響應時間
Max:最大響應時間
Error%:本次測試中出現錯誤的請求的數量/請求的總數
Throughput:吞吐量——預設情況下表示每秒完成的請求數(Request per Second),當使用了 Transaction Controller 時,也可以表示類似 LoadRunner 的 Transaction per Second 數
KB/Sec:每秒從伺服器端接收到的資料量,相當於LoadRunner中的Throughput/Sec
-----------------------------
到這裡一條完整的測試用例就已經完成了,怎麼樣是不是so easy!
九、如何能一次請求多個城市的天氣?
剛才需求裡citycode可以是不同的測試,可是剛才的用例只能請求到上海的天氣預報,那麼如何一次請求,就遍歷所有城市的天氣呢?
這個時候就需要引入一個概念:引數化
下節課會詳細講引數化概念。。。