Jmeter接口測試自動化 (三)(數據驅動測試)


本文轉載至http://www.cnblogs.com/chengtch/p/6105532.html

 

當我研究要通過用例優先級控制用例是否執行時,我發現了用"如果(if)控制器"就可以很好的控制用例執行,再搭配“循環控制器”,

就能很好的讀csv了。

     1、設計了如下的測試用例:

          

     2、根據用例設計腳本結構:

                      

 

      3、測試用例與腳本之間的關聯:

           3.1 通過csv讀取元件讀取測試儀用例表格的每一行

                 

           3.2 http請求中關聯用例的參數

                 我這里嘗試着僅用一個http請求來依次 參數化執行所有用例,因此將請求名稱、請求方法、請求參數等做了參數化:

                 

                 因為get請求不能放在body data里面,所以放在路徑后面:

                 

 

            3.3 if控制器來選擇執行方式和選擇執行路徑

                 3.3.1 為了先判斷用例的請求方法時get還是post,再按結果去執行對應的請求,做如下設置: 

                          

                 3.3.2 通過用例優先級選擇是否執行

                     

  

        4、執行測試,查看結果

             如下圖可以看出:

             (1)腳本只執行了優先級為high和normal的用例

             (2)如果控制器很好的選擇的正確的請求方法和參數傳入方式

             (3)雖然只有一個http請求,請求名參數化的方式很好的將測試接口的編號、名稱、測試目的展示了出來,便於錯誤調試

             

 

        5、總結

                上面只是做了一個幾條用例的demo來驗證我的新想法,暫時看是蠻順利。但當考慮到要用正則表單式來提取請求返回值作為后面用例的

             參數,我又遇到了困難,如上圖中的提交辦件用例,用到啟動辦件用例的響應,但沒法傳過來。

                暫時想到的解決方法:

                        (1)為盡量減少接口用例之間的耦合性,避免將前一請求的響應作為后面請求的參數

                        (2)無法避免的地方,另建線程組,通過加入多個http請求來測試簡單流程

                現在看來前面做的讀取指定行的用例時全無必要的,if控制器君完全可以代勞。。。


免責聲明!

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



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