在做自動化時,像一個登陸的事件,會有多個場景,則一個class下會寫這樣幾條用例:
1. 用戶名、密碼正確
2. 用戶名為空
3. 密碼為空
...........
具體代碼如下圖:

login
這樣的話,執(zhí)行test1時,會啟動瀏覽器,然后運(yùn)行完成后關(guān)閉瀏覽器;
同樣,執(zhí)行test2時,也會再次啟動瀏覽器,然后運(yùn)行完成后關(guān)閉瀏覽器。
這樣就會有很多重復(fù)操作,怎么樣實(shí)現(xiàn)運(yùn)行test1、test2、test3用例,只啟動一次瀏覽器,執(zhí)行完所有用例后,關(guān)閉瀏覽器呢?
這就需要用到裝飾器(@classmethod),如下:
一、裝飾器
1. 用setUp與setUpClass區(qū)別
setup():每個測試case運(yùn)行前運(yùn)行
teardown():每個測試case運(yùn)行完后執(zhí)行
setUpClass():必須使用@classmethod 裝飾器,所有case運(yùn)行前只運(yùn)行一次
tearDownClass():必須使用@classmethod裝飾器,所有case運(yùn)行完后只運(yùn)行一次
2. @是修飾符,classmethod是python里的類方法
下面用@classmethod 來實(shí)現(xiàn)只啟動一次瀏覽器,執(zhí)行完成后,關(guān)閉瀏覽器。
具體代碼如下:
