0
我正在使用TestNG運行我們的自動化測試。我們選擇TestNG的原因是因爲我們可以將變量輸入發送到測試方法示例public void testXX(String userId)並且userId可以針對每個測試進行更改。testng指定不同的用戶
下面的代碼顯示了三個不同的userIds我可以用來執行我的測試。所以我的完全相同的測試將針對三個不同用戶的每一個運行三次。這個功能非常棒,真正讓我能夠在不同的場景下進行多項測試,因爲我們每個用戶都擁有不同的配置文件。
// All valid Pricing Leads
@DataProvider(name = "userIds")
public Object[][] createPricingLeadUsersParameters() {
return new Object[][] {
{ "TestUser001" },
{ "TestUser002" },
{ "TestUser003" }
};
}
@Test(dataProvider = "userIds")
public void createGroup(String userIds) {
............
}
我現在我遇到的問題是在一定的條件下,我只能用過一個用戶id要不然我所有的測試將失敗。我想保留我完全相同的測試,但只傳入userId而不是上面顯示的三個。有沒有一種方法可以在命令行上配置TestNG來創建這個變量,所以有時我會使用這三個定義的,但在另一個條件下它只會是三個或一個新的userId中的一個?
我需要一種方法來設置userIds基於另一種配置。希望TestNG能夠通過比較testng.xml和編程方式來控制這一點。感謝您的輸入! – 2012-07-10 15:53:32