TestNG學習 工廠

2021-10-19 14:26:23 字數 1968 閱讀 1141

工廠允許動態建立測試。 

public class testwebserver )public void accesspage(int numberoftimes)}}​​​​​​
但是上面這種方式可能很快就會變得無法管理,因此,應該使用工廠:​​​​​​​

public class webtestfactoryreturn result;}}
新的測試類:​​​​​​​

public class webtest@testpublic void testserver()}}
testng.xml只需要引用包含工廠方法的類,因為測試例項本身將在執行時建立:

如果以程式設計方式構建test suite例項,則可以按照相同的方式新增工廠執行測試:​​​​​​​

testng testng = new testng();testng.settestclasses(webtestfactory.class);testng.run();
工廠方法可以像@test和@ before / after一樣接收引數,必須返回object 。返回的物件可以是任何類(不一定與工廠類相同),它們甚至不需要包含testng註解(在這種情況下,testng將忽略它們)。

工廠也可以與data provider一起使用,並且可以通過將@factory註解放在常規方法或建構函式上來利用此功能。這是建構函式工廠的示例:​​​​​​​

@factory(dataprovider = "dp")public factorydataprovidersampletest(int n)@dataproviderstatic public object dp() ,new object ,};}
該示例將使testng建立兩個測試類,分別使用值41和42呼叫建構函式。

類級別的註解

@test註解不僅可以放在方法上,也可以放在類上:​​​​​​​

@testpublic class test1public void test2()}
類級別的@test註解的作用是使該類的所有公共方法都成為測試方法,即使它們沒有被註解。如果要新增某些屬性,仍然可以在方法上重複使用@test註解。例如:​​​​​​​

@testpublic class test1@test(groups = "g1")public void test2()}
以上將會同時新增兩個測試方法,但是test2()屬於g1組。

testng引數化學習

有兩種方式 1.使用 testng.xml parameter 適合引數化簡單的測試資料 2.資料提供者 dataprovider 適合複雜的測試資料,如物件 從資料庫和檔案中讀取的資料等。一 使用 parameter 引數化登入指令碼 指令碼 test parameters public void...

TestNG系列(二)TestNG註解

前言 tetsng提供了很多註解,允許測試人員靈活地組織測試用例 一 test tets是testng的核心註解,被註解的方法,表示為乙個測試方法。description屬性 test description yuhao public void case1 在測試報告中體現出來 enabled屬性 ...

TestNG系列之 TestNG基本註解 注釋

註解 描述 beforesuite 註解的方法只執行一次,在當前suite所有測試執行之前執行 aftersuite 註解的方法只執行一次,在當前suite所有測試執行之後執行 beforeclass 註解的方法只執行一次,在當前類中所有方法呼叫之前執行 afterclass 註解的方法只執行一次,...