jmeter接口測(cè)試實(shí)戰(zhàn)-創(chuàng)建用戶
站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到達(dá)日網(wǎng)站設(shè)計(jì)與達(dá)日網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:做網(wǎng)站、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、空間域名、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋達(dá)日地區(qū)。相信大多數(shù)看到標(biāo)題的同學(xué)都會(huì)有疑問(wèn), 創(chuàng)建用戶不是很簡(jiǎn)單嗎, 調(diào)用一下創(chuàng)建用戶接口, 傳入指定入?yún)? 用戶即可創(chuàng)建成功, 今天我們的實(shí)戰(zhàn)來(lái)講講創(chuàng)建場(chǎng)景.通過(guò)接口創(chuàng)建用戶前面的想法沒(méi)有問(wèn)題, 但在實(shí)際項(xiàng)目并不是那么簡(jiǎn)單的.
場(chǎng)景:在企業(yè)中, 多數(shù)會(huì)有很多管理系統(tǒng)如CMS, CRM, 中臺(tái)等各種管理系統(tǒng), 這些有一個(gè)共同點(diǎn)就是區(qū)分用戶權(quán)限, 如: 張三是管理員權(quán)限, 李四是部門經(jīng)理權(quán)限, 王五是普通權(quán)限.
這個(gè)場(chǎng)景的要點(diǎn)是:
用戶名唯一.
不同用戶不同權(quán)限.
按照一般接口測(cè)試原理, 要重復(fù)三次分別調(diào)用創(chuàng)建用戶API實(shí)現(xiàn), 如果還有更多角色, 就這樣重復(fù)下去? 顯然這不是我們接口測(cè)試想要的思想.
存在缺點(diǎn):
維護(hù)成本太高, 腳本冗余.
腳本不具備通用型, 擴(kuò)展性欠佳.
有些同學(xué)會(huì)想到用csv data config, 但csv有局限性, csv里數(shù)據(jù)需要我們提前準(zhǔn)備好, 同時(shí)csv文件需要跟著jmeter腳本走, 部署到不同環(huán)境就要把csv文件這個(gè)小弟帶上, 比較煩!
有沒(méi)有別的辦法呢? 繼續(xù)往下看, 本文主要是拓展思路, 避免使用之前推文已經(jīng)使用過(guò)的玩法, 又能學(xué)到新的知識(shí)點(diǎn).
分析:要點(diǎn)一:用戶名必須唯一, 用隨機(jī)數(shù)即可做到.
要點(diǎn)二:創(chuàng)建用戶同時(shí)賦不同權(quán)限, 那就把權(quán)限對(duì)應(yīng)值用變量定義好, 真正項(xiàng)目里權(quán)限應(yīng)該有張表(多數(shù)情況是這樣), 可以從DB中獲取,然后再放到自定義變量中,本實(shí)戰(zhàn)演示就簡(jiǎn)化從DB讀取的步驟,之前推文已經(jīng)講述過(guò)從DB中獲取數(shù)組對(duì)象再賦值給變量, 這里就不再贅述.
Do it!第一步: 在線程組中new一個(gè)創(chuàng)建用戶sampler, 并傳入指定入?yún)?/p>
userName是用戶名, 使用隨機(jī)數(shù)產(chǎn)生
userJobId 是控制用戶權(quán)限
第二步 在該sampler下添加隨機(jī)變量
這里為什么使用隨機(jī)變量而不使用隨機(jī)函數(shù)是有道理的,同學(xué)們看完實(shí)例后不妨試試隨機(jī)函數(shù), 如果你知道答案了歡迎加我私聊, 說(shuō)明你下功夫認(rèn)真實(shí)踐了, 恭喜你學(xué)會(huì)了本章內(nèi)容.
變量名稱:就是json中的用戶名
輸出格式:因?yàn)閯?chuàng)建用戶的需求是有規(guī)則的,要求數(shù)字和字母混合且長(zhǎng)度在8~30之間, 配置隨機(jī)發(fā)生器就不多講了, 多修改幾次里面的值就知道什么作用.
第四步 添加for Each控制器
輸出變量JobID就是我們?cè)趈son中用的${JobId}給userJobID賦值用的.
輸出變量前綴userjobid又是怎么回事呢, 繼續(xù)往下看
第五步 添加用戶自定義變量, 定義用戶權(quán)限, 1是普通用戶, 0是管理員, 如果還有其他權(quán)限這里添加, 也可以從DB中讀取數(shù)組對(duì)象然后賦值給變量.
現(xiàn)在明白了吧, 輸出變量前綴就在這里, 賦值給相應(yīng)變量.
第六步 創(chuàng)建循環(huán)控制器
因?yàn)檫@里userjobid在自定義變量里只有2個(gè)值, 設(shè)定循環(huán)1次
最后再看下層級(jí)結(jié)構(gòu)
把觀察結(jié)果樹加上, 就可以執(zhí)行了
可以看見(jiàn)結(jié)果樹上分別創(chuàng)建了2個(gè)不同名稱的用戶CS_zhw36926和CS_zhw9887, userjobid分別是1 和 0 屬于不同角色
再來(lái)看響應(yīng)數(shù)據(jù), 返回success為ture ,用戶創(chuàng)建成功
數(shù)據(jù)落庫(kù)檢查
實(shí)戰(zhàn)講解至此結(jié)束.
通過(guò)以上方法, 一條接口測(cè)試腳本,滿足了一次創(chuàng)建多個(gè)不同用戶名稱和不同角色, 增強(qiáng)了代碼的復(fù)用性, 擴(kuò)展性; 提高代碼免維護(hù)性, 同時(shí)也避免了csv這種走到哪里都要帶著個(gè)小弟的麻煩事情.
今日推薦閱讀文章精選推薦
為什么要做接口測(cè)試
JMeter數(shù)據(jù)庫(kù)操作
Jmeter接口測(cè)試-正則表達(dá)式
JMeter中文返回亂碼
Jmeter接口測(cè)試-參數(shù)化
JMeter接口測(cè)試-基礎(chǔ)
測(cè)試-感想
咨詢工作加微信
掃描二維碼
歡迎自薦和推薦, 需要的微信推送簡(jiǎn)歷!
請(qǐng)猛戳下面二維碼了解更多