本文轉載至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控制器君完全可以代勞。。。