1. 程式人生 > >UI自動化測試系列之-----TestNg中使用繼承

UI自動化測試系列之-----TestNg中使用繼承

TestNg中可以使用繼承,一些公關的操作可以放在父類中,比如開啟瀏覽器等可以放在@BeforeClass中,關閉則放在@AfterClass中。

 當子類實現了自己的@BeforeClass,@Test和@AfterClass,則執行子類時,物件直接呼叫自己的。如果有其中的任何一個子類沒有自己實現,父類進行了實現,則子類執行的時候會用自己的物件去呼叫父類的方法。

看下邊的例子:

1、子類和父類對這三個方法都進行了實現

父類程式碼:

              

子類程式碼:

             

結果:(子類呼叫自己實現的方法)

            

注:開始時,子類只運行了自己的三個方法,但是之後再執行就會執行父類的test方法,所以輸出了四行,到底應該是幾行?還不知道。。。

2、子類中有方法沒有實現,但是父類進行了實現,

      父類的程式碼和上邊的一樣不進行改變,但是將子類中的@BeforeClass註解的方法註釋掉,

執行結果:

              

beforeClass是子類呼叫的父類中的方法。驗證可以得到,AfterClass和Test也是一樣的。

故:一些公共操作,可以統一在父類中封裝實現,然後子類只實現各自不同的方法。