使用Jmeter執行接口自動化測試-如何初始化清空舊數據


  • 需求分析:
  1. 每次執行完自動化測試,我們不會執行刪除接口把數據刪除,而需要留着手工測試,此時會導致下次執行測試有舊數據
  2. 我們手工可能也會新增數據,導致下次執行自動化測試有舊數據

下面介紹兩種清空數據的方法


一、通過獲取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技術交流群:加群請輸入驗證信息 博客園
              在這里插入圖片描述


微信二維碼關注公眾號:

在這里插入圖片描述


關注之后,回復資源下載,即可獲取本人共享的各種資源下載地址

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-dkyHNY2D-1569554485737)(https://s1.51cto.com/images/blog/201908/06/2e62f8806e1dc1c391c4332ac7fd70b1.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM