當我研究要經過用例優先級控制用例是否執行時,我發現了用"若是(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控制器君徹底能夠代勞。。。