自動化測試框架(單元測試框架unittest+數據驅動框架ddt+測試報告【beatifulreport+HtmlTestRunner+郵件發送報告+爬蟲】)(三)-乾貨

在寫測試腳本時,會有很多種場景,接口的自動化測試用例對應不同的參數,這樣就需要用到ddt,這樣可以達到代碼複用,數據抽離的作用。而測試數據,可以存放在db也可以存放在excel裏。我這裏是存放在excel裏,主要是因爲需要可以集中將excel這個直接用來做用例記錄放在Jira或者confluence和手工測試用例一起統一放一處管理。

這時候就需要封裝自己的excel相關的讀取函數,制定一個書寫規範,如下excel已接口測試塊或者sprint來命名。每個tab按接口來分類,excel裏有測試方法,測試用例和入參。

excel放在框架的testcaseDate模塊下的excel文件夾裏。腳本里面我們通過調用自己封裝的工具類來自動讀取需要的excel文件裏的數據,入參爲文件名,tab名(對應接口),第一個位置的索引爲excel裏面的不同參數的索引。如下面的,Case是將文件裏的存放測試用例描述的內容全部都讀取出來.然後作爲入參用於測試方法裏。

@ddt
class test_DiscountCouponListRequest(unittest.TestCase):
    Case=  tool.xlsxGetparabyname(1, "DiName_s19", "SCAPI-19.xlsx").getPara()
...
....
 @data((status[0], user[0],0, Case[0]), (status[0], user[0],0, Case[1]), 
          )

    @unpack
    def test_DiscountCouponListRequests19(self, status,user, exp, case):
        print("測試用例:" + case)
......
.....

測試腳本寫好後可以run對應的測試文件,如下方式:

跑完之後,可以在pycharm下方看到結果:

當然這是寫完後單獨跑一個測試文件,一般情況下做迴歸,都是批量跑用例,後面細講並付代碼實現方式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章