1. 程式人生 > >Jmeter介面自動化第一課(測試用例)

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了,回到最前面介面需求,

之前講過介面系列,對介面測試熟悉的,這裡很容易分析出

  1. 伺服器名稱為:www.weather.com.cn

  2. 協議型別:http

  3. 請求方式:get

  4. 請求路徑:/weather/citycode.shtml

  5. citycode:101020100(上海)

把這五個地方按號入座就行了

五、檢視請求結果:新增結果樹和聚合報告


六、執行用例

  1. 點執行按鈕

  2. 點左側檢視結果樹

  3. 點中間測試case

  4. 點右側響應資料,檢視服務端返回結果

  5. 響應資料有內容,說明請求成功,伺服器正常返回


七、新增斷言

測試結果有了,下一步要去檢測測試結果是不是符合預期,這時候就需要新增斷言


在剛才測試結果裡面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可以是不同的測試,可是剛才的用例只能請求到上海的天氣預報,那麼如何一次請求,就遍歷所有城市的天氣呢?

這個時候就需要引入一個概念:引數化

下節課會詳細講引數化概念。。。