Jmeter HTTP介面案例開發、除錯方法
阿新 • • 發佈:2018-12-26
- HTTP介面案例案例開發的步驟為:
- 1.瞭解要開發案例的業務流程,比如新增案例,是否有其它前置條件,如果有,就需要先開發好前置條件的案例
- 2.手工開發案例或者通過jmeter錄製功能開發案例
- 3.對案例進行除錯,響應結果和預期結果一致,則案例開發完成
- 對於簡單的案例,建議直接手工編寫,涉及到上傳附件、匯入excel,等複雜案例建議錄製指令碼
-
一、開發指令碼
-
手工編寫指令碼
- 本次案例為新增角色,一般我們使用谷歌瀏覽器進行頁面操作,然後按F12顯示介面請求
- 輸入必填項,點選儲存按鈕,介面請求顯示如下,根據經驗可以判斷新增請求介面型別為post,或者請求名稱save,還有請求引數可以找到新增的介面如下:
- 本次案例在通訊錄管理》個人詳情管理》特例使用者設定選單下,建議開發指令碼層級通過迴圈控制器區分,如下所示:
- 新增方法,右鍵點選需要新增控制器的選單,新增》邏輯控制器》迴圈控制器
- 新增角色,指令碼如下,由於我們使用HTTP請求預設值、HTTP資訊頭管理器對域名、協議型別、埠、表頭等進行管理,所以該請求這些引數不用填寫
- HTTP請求預設值:
- HTTP資訊頭管理器,填寫token和表頭型別
- Jmeter除錯響應結果和頁面響應結果一致,頁面資料新增成功:
- Jmeter錄製指令碼
- 本次案例為批量匯入使用者,由於涉及到excel匯入功能,如果對介面請求不熟悉,手動開發可能有壓力,介面請求如下:
- jmeter錄製方法,首先設定代理,代理設定如下,開啟瀏覽器,Internet選項,地址為127.0.0.1、埠只要未被佔用就行,如8888,勾選為LAN使用伺服器,點選確定按鈕:
- 設定好代理,就可以進行錄製操作了,開啟jmeter,操作如下圖所示:
- 點選啟動按鈕,就可以進行錄製操作了,建議先開啟谷歌瀏覽器,進入到個人詳情管理介面,在開啟代理進行錄製,錄製指令碼如下:
- 指令碼需要修改Parameters中的appKey引數,該引數為應用id,還需要修改File Upload下的檔案引數路徑,修改成了相對路徑,並且相容windows和linux環境,並且刪除了公共的協議、伺服器、埠如下:
- Jmeter除錯響應結果和頁面響應結果一致,頁面資料新增成功
- 本次案例為批量匯入使用者,由於涉及到excel匯入功能,如果對介面請求不熟悉,手動開發可能有壓力,介面請求如下:
-
- 二、除錯指令碼
- 開發案例最重要的一個環節就是除錯指令碼,特別是介面自動化案例,經常需要維護,本模組講解除錯指令碼的常用方法,熟悉了除錯的方法,所有案例除錯起來都不會感覺頭痛了
- 常用的方法就是拿jmeter請求引數和fiddler抓包請求進行對比,看有哪些引數有問題,從而解決問題
- HTTP 的請求報文分為三個部分 請求行、請求頭和請求體,格式如圖:
- 本次選擇批量匯入案例介面進行除錯,jmeter執行結果請求如下:
- 手動批量匯入案例,fiddler抓包結果如下:
- 經過對比發現,本次在jmeter執行失敗,是由於請求頭型別申明為application/json,不用申明表頭型別,預設即可
- 除錯結果:
- 本次選擇批量匯入案例介面進行除錯,jmeter執行結果請求如下:
- 根據以往的案例開發經驗,除錯報錯,多半是變數為空、請求方法不正確,檔案路徑不正確,或者格式不正確導致,所以多用下Debug Sampler,該元件可以檢視到所有變數
- 在介紹一個好用的功能,只需要在使用者定義變數申明要測試的環境,不用為每次切換環境,而要修改很多全域性變數而頭疼,使用If控制器讀取變數,就可以讓指令碼自動讀取需要測試環境的變數,如下:
覺得寫的不錯的,請幫忙點個贊