jmeter接口測試實戰-建立用戶正則表達式
相信大多數看到標題的同窗都會有疑問, 建立用戶不是很簡單嗎, 調用一下建立用戶接口, 傳入指定入參, 用戶便可建立成功, 今天咱們的實戰來說講建立場景.經過接口建立用戶前面的想法沒有問題, 但在實際項目並非那麼簡單的.數據庫
場景:json
在企業中, 多數會有不少管理系統如CMS, CRM, 中臺等各類管理系統, 這些有一個共同點就是區分用戶權限, 如: 張三是管理員權限, 李四是部門經理權限, 王五是普通權限.數組
這個場景的要點是:微信
用戶名惟一.app
不一樣用戶不一樣權限.函數
按照通常接口測試原理, 要重複三次分別調用建立用戶API實現, 若是還有更多角色, 就這樣重複下去? 顯然這不是咱們接口測試想要的思想.測試
存在缺點:spa
維護成本過高, 腳本冗餘.線程
腳本不具有通用型, 擴展性欠佳.
有些同窗會想到用csv data config, 但csv有侷限性, csv裏數據須要咱們提早準備好, 同時csv文件須要跟着jmeter腳本走, 部署到不一樣環境就要把csv文件這個小弟帶上, 比較煩!
有沒有別的辦法呢? 繼續往下看, 本文主要是拓展思路, 避免使用以前推文已經使用過的玩法, 又能學到新的知識點.
分析:
要點一:用戶名必須惟一, 用隨機數便可作到.
要點二:建立用戶同時賦不一樣權限, 那就把權限對應值用變量定義好, 真正項目裏權限應該有張表(多數狀況是這樣), 能夠從DB中獲取,而後再放到自定義變量中,本實戰演示就簡化從DB讀取的步驟,以前推文已經講述過從DB中獲取數組對象再賦值給變量, 這裏就再也不贅述.
動手:
第一步: 在線程組中new一個建立用戶sampler, 並傳入指定入參
userName是用戶名, 使用隨機數產生
userJobId 是控制用戶權限
第二步 在該sampler下添加隨機變量
這裏爲何使用隨機變量而不使用隨機函數是有道理的,同窗們看完實例後不妨試試隨機函數, 若是你知道答案了歡迎加我私聊, 說明你下功夫認真實踐了, 恭喜你學會了本章內容.
變量名稱:就是json中的用戶名
輸出格式:由於建立用戶的需求是有規則的,要求數字和字母混合且長度在8~30之間, 配置隨機發生器就很少講了, 多修改幾回裏面的值就知道什麼做用.
第四步 添加for Each控制器
輸出變量JobID就是咱們在json中用的${JobId}給userJobID賦值用的.
輸出變量前綴userjobid又是怎麼回事呢, 繼續往下看
第五步 添加用戶自定義變量, 定義用戶權限, 1是普通用戶, 0是管理員, 若是還有其餘權限這裏添加, 也能夠從DB中讀取數組對象而後賦值給變量.
如今明白了吧, 輸出變量前綴就在這裏, 賦值給相應變量.
第六步 建立循環控制器
由於這裏userjobid在自定義變量裏只有2個值, 設定循環1次
最後再看下層級結構
把觀察結果樹加上, 就能夠執行了
能夠看見結果樹上分別建立了2個不一樣名稱的用戶CS_zhw36926和CSzhw9887, userjobid分別是1 和 0 屬於不一樣角色
再來看響應數據, 返回success爲ture ,用戶建立成功
數據落庫檢查
實戰講解至此結束.
經過以上方法, 一條接口測試腳本,知足了一次建立多個不一樣用戶名稱和不一樣角色, 加強了代碼的複用性, 擴展性; 提升代碼免維護性, 同時也避免了csv這種走到哪裏都要帶着個小弟的麻煩事情.
今日推薦閱讀文章精選推薦
諮詢工做加微信
掃描二維碼
歡迎自薦和推薦, 須要的微信推送簡歷!
請猛戳下面二維碼瞭解更多