概述
今天用jmeter做一次參數化實戰。通過計數器遍歷參數表,然后查詢jdbc進行beanshell斷言。
涉及元件
用戶參數,計數器,正則表達式,jdbc,beanshell腳本
詳細過程
在我們的opms項目管理中,有一個項目狀態的修正,四種狀態分別為延期,掛起,進行,結束
在接口自動化案例中,我們需要對這四種狀態進行遍歷,然后進行斷言,判斷狀態是否正確修改。
我們通過抓接口,發現了傳參的一個規律:除了項目id之外,四種狀態的status分別是1,2,3,4。
我們把添加項目的返回id用正則表達式提取出來,作為項目狀態接口的入參,參數名稱為projectid,這個是主鍵id
現在思考一下,接下來的四種狀態,你要如何去操作才能全部執行一次並斷言結果???
通常的做法是寫四個接口,傳四種參數,再添加四個斷言,但是這種做法會造成大量的腳本冗余,在接口自動化中是會被鄙視的!如下:
現在教大家用精簡的腳本完成復雜的邏輯校驗
添加一個循環控制器,讓它循環四次,可以遍歷四種狀態
添加一個用戶參數,在參數表中配置四種項目狀態
添加一個計數器,上限為4,遞增1,用來遍歷參數表中的四種狀態
添加一個http請求,在名稱中遍歷狀態名;在入參中遍歷狀態值
添加一個jdbc請求,通過變更的狀態值和項目id組合查詢的方式,驗證每一次狀態的變更是否正確的寫入了數據庫
我們在接口執行了之后,還需要去前端頁面判斷一下狀態名稱是否真的被修改了,在這里用到了xpath表達式去提取前端頁面數據
添加一個beanshell斷言,判斷我們數據庫返回值是否為空,如果不為空且和前端頁面返回的狀態名稱,表示斷言通過,否則斷言失敗
運行腳本,在結果樹中和log日志中觀察執行效果
遍歷了四種狀態並對實際運行結果進行了斷言
關注公眾號,獲取更多精彩文章!
點擊獲取《jmeter接口自動化與性能實戰-飛天小子.pdf》