jmeter實現數據驅動分離(if控制器的使用)

批量編寫測試用例腳本html

http://www.cnblogs.com/chengtch/p/6576117.htmlpost

 jmeter所有學習連接學習

http://www.cnblogs.com/fennudexiaoniao/p/6726726.html測試

https://www.cnblogs.com/111testing/p/6412173.html線程

 

當我研究要經過用例優先級控制用例是否執行時,我發現了用"若是(if)控制器"就能夠很好的控制用例執行,再搭配「循環控制器」,設計

就能很好的讀csv了。3d

     一、設計了以下的測試用例:調試

          

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

                      

 

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

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

                 

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

                 我這裏嘗試着僅用一個http請求來依次 參數化執行全部用例,所以將請求名稱、請求方法、請求參數等作了參數化:

                 

                 由於get請求不能放在body data裏面,因此放在路徑後面:

                 

 

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

                 3.3.1 爲了先判斷用例的請求方法時get仍是post,再按結果去執行對應的請求,作以下設置: 

                          

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

                     

  

        四、執行測試,查看結果

             以下圖能夠看出:

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

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

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

             

 

        五、總結

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

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

                暫時想到的解決方法:

                        (1)爲儘可能減小接口用例之間的耦合性,避免將前一請求的響應做爲後面請求的參數

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

                如今看來前面作的讀取指定行的用例時全無必要的,if控制器君徹底能夠代勞。。。

相關文章
相關標籤/搜索