jmeter接口測試實戰-創建用戶

jmeter接口測試實戰-創建用戶

相信大多數看到標題的同學都會有疑問, 創建用戶不是很簡單嗎, 調用一下創建用戶接口, 傳入指定入參, 用戶即可創建成功, 今天我們的實戰來講講創建場景.通過接口創建用戶前面的想法沒有問題, 但在實際項目並不是那麼簡單的.

場景:

在企業中, 多數會有很多管理系統如CMS, CRM, 中臺等各種管理系統, 這些有一個共同點就是區分用戶權限, 如: 張三是管理員權限, 李四是部門經理權限, 王五是普通權限.

這個場景的要點是:

  • 用戶名唯一.

  • 不同用戶不同權限.

按照一般接口測試原理, 要重複三次分別調用創建用戶API實現, 如果還有更多角色, 就這樣重複下去? 顯然這不是我們接口測試想要的思想.

存在缺點:

維護成本太高, 腳本冗餘.

腳本不具備通用型, 擴展性欠佳.

有些同學會想到用csv data config, 但csv有侷限性, csv裏數據需要我們提前準備好, 同時csv文件需要跟着jmeter腳本走, 部署到不同環境就要把csv文件這個小弟帶上, 比較煩!

有沒有別的辦法呢? 繼續往下看, 本文主要是拓展思路, 避免使用之前推文已經使用過的玩法, 又能學到新的知識點.


分析:

要點一:用戶名必須唯一, 用隨機數即可做到.

要點二:創建用戶同時賦不同權限, 那就把權限對應值用變量定義好, 真正項目裏權限應該有張表(多數情況是這樣), 可以從DB中獲取,然後再放到自定義變量中,本實戰演示就簡化從DB讀取的步驟,之前推文已經講述過從DB中獲取數組對象再賦值給變量, 這裏就不再贅述.


Do it!

第一步: 在線程組中new一個創建用戶sampler, 並傳入指定入參


userName是用戶名, 使用隨機數產生

userJobId 是控制用戶權限


第二步 在該sampler下添加隨機變量

這裏爲什麼使用隨機變量而不使用隨機函數是有道理的,同學們看完實例後不妨試試隨機函數, 如果你知道答案了歡迎加我私聊, 說明你下功夫認真實踐了, 恭喜你學會了本章內容.

變量名稱:就是json中的用戶名

輸出格式:因爲創建用戶的需求是有規則的,要求數字和字母混合且長度在8~30之間, 配置隨機發生器就不多講了, 多修改幾次裏面的值就知道什麼作用.

第四步 添加for Each控制器

輸出變量JobID就是我們在json中用的${JobId}給userJobID賦值用的.

輸出變量前綴userjobid又是怎麼回事呢, 繼續往下看


第五步 添加用戶自定義變量, 定義用戶權限, 1是普通用戶, 0是管理員, 如果還有其他權限這裏添加, 也可以從DB中讀取數組對象然後賦值給變量.

現在明白了吧, 輸出變量前綴就在這裏, 賦值給相應變量.

第六步 創建循環控制器

因爲這裏userjobid在自定義變量裏只有2個值, 設定循環1次

最後再看下層級結構

把觀察結果樹加上, 就可以執行了


 可以看見結果樹上分別創建了2個不同名稱的用戶CS_zhw36926和CS_zhw9887, userjobid分別是1 和 0 屬於不同角色

再來看響應數據, 返回success爲ture ,用戶創建成功

數據落庫檢查

實戰講解至此結束.

通過以上方法, 一條接口測試腳本,滿足了一次創建多個不同用戶名稱和不同角色, 增強了代碼的複用性, 擴展性; 提高代碼免維護性, 同時也避免了csv這種走到哪裏都要帶着個小弟的麻煩事情.


今日推薦閱讀文章精選推薦

爲什麼要做接口測試

JMeter數據庫操作

Jmeter接口測試-正則表達式

JMeter中文返回亂碼

Jmeter接口測試-參數化

JMeter接口測試-基礎

測試-感想


諮詢工作加微信

掃描二維碼


歡迎自薦和推薦, 需要的微信推送簡歷!

請猛戳下面二維碼瞭解更多


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章