工廠允許動態建立測試。
public class testwebserver )
public void accesspage(int numberoftimes)
}
}
但是上面這種方式可能很快就會變得無法管理,因此,應該使用工廠:
新的測試類:public class webtestfactory
return result;
}
}
testng.xml只需要引用包含工廠方法的類,因為測試例項本身將在執行時建立:public class webtest
@test
public void testserver()
}
}
如果以程式設計方式構建test suite例項,則可以按照相同的方式新增工廠執行測試:
工廠方法可以像@test和@ before / after一樣接收引數,必須返回object 。返回的物件可以是任何類(不一定與工廠類相同),它們甚至不需要包含testng註解(在這種情況下,testng將忽略它們)。testng testng = new testng();
testng.settestclasses(webtestfactory.class);
testng.run();
工廠也可以與data provider一起使用,並且可以通過將@factory註解放在常規方法或建構函式上來利用此功能。這是建構函式工廠的示例:
該示例將使testng建立兩個測試類,分別使用值41和42呼叫建構函式。@factory(dataprovider = "dp")
public factorydataprovidersampletest(int n)
@dataprovider
static public object dp() ,
new object ,
};
}
類級別的註解
@test註解不僅可以放在方法上,也可以放在類上:
類級別的@test註解的作用是使該類的所有公共方法都成為測試方法,即使它們沒有被註解。如果要新增某些屬性,仍然可以在方法上重複使用@test註解。例如:@test
public class test1
public void test2()
}
以上將會同時新增兩個測試方法,但是test2()屬於g1組。@test
public class test1
@test(groups = "g1")
public void test2()
}
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 註解的方法只執行一次,...