- 需求分析:
- 每次執行完自動化測試,我們不會執行刪除接口把數據刪除,而需要留着手工測試,此時會導致下次執行測試有舊數據
- 我們手工可能也會新增數據,導致下次執行自動化測試有舊數據
下面介紹兩種清空數據的方法
一、通過獲取total數值進行清空
1. 實際頁面、查詢接口地址如下,頁面有分頁統計功能,能獲取到總條數
2. 首先需要添加查詢接口獲取總條數number,如下所示
3. 在接口管理層級下新增一個循環控制器,用來控制循環的次數,變量為上個查詢接口獲取的number,如下所示
4. 接着在刪除檢查數據層級下新增一個查詢接口(該接口地址和獲取number變量一樣),用來獲取delete_id,如下所示
5. 接着新增一個刪除接口,把獲取的delete_id變量參數化到刪除接口中
6. 執行結果如下:
7. number變量獲取方法如下:
8. delete_id變量獲取方法如下,每次獲取第一個數值,直到循環結束: 二、通過獲取jmeter變量matchNr進行清空
1. 實際頁面、查詢接口地址如下,頁面沒有分頁查詢功能,無總條數,可以通過jmeter的json path匹配變量獲取總條數
2. 首先需要添加查詢接口獲取總條數assignment_id_matchNr,如下所示
3. 在接口管理層級下新增一個循環控制器,用來控制循環的次數,變量為上個查詢接口獲取的assignment_id_matchNr,如下所示
4. 接着在循環控制器層級下新增一個查詢接口(該接口地址和獲取assignment_id_matchNr變量一樣),用來獲取delete_id,如下所示
5. 接着新增一個刪除接口,把獲取的delete_id變量參數化到刪除接口中
6. 執行結果如下
三、數據安全校驗
目前很多系統都是項目型,通過projectid去篩選查詢接口,查詢出自己需要的項目數據,其中就涉及到接口的安全測試,如果傳的projectid為空,可能就會返回系統全部的數據,這種接口是有問題的,如果應用到循環刪除中,就可能導致生產事故
1. 傳正常的projectid,返回結果正常
2. 傳projectid=null,返回系統所有數據
3. 怎樣規避這種風險,可以增加個if控制器判斷,只有project等於某個值(自己測試的項目)才能執行自動清除數據接口,project_check定義在全局變量中,跟着環境走,如下所示
如果文章對你有幫助,歡迎關注本人公眾號,公眾號與本平台文章同步,方便大家查閱,本人會持續推出與測試有關的文章,與大家分享測試技術,每一篇原創文章都是用心編寫,杜絕抄襲復制
QQ技術交流群:加群請輸入驗證信息 博客園
微信二維碼關注公眾號:
關注之后,回復資源下載,即可獲取本人共享的各種資源下載地址