0
我想了解如何實現一個工廠來測試我定義的所有瀏覽器上的測試類。有一個更好的方法嗎。任何人都可以提出基本的改進?關於定義一個測試在各種瀏覽器上運行單個瀏覽器測試的工廠
public class FactoryDataProviderTestBase extends MyTestBase
{
@Factory(dataProvider = "dp")
public FactoryDataProviderTestBase(SauceTestHelper helper,
Map<String,String> csvArgMap) {
super(helper, csvArgMap);
}
@DataProvider(name = "factory")
static public Object[][] factoryDataProvider() {
// do stuff here to initialize csvArgMap from csv file
return new Object[][] {
new Object[] { new SauceTestHelper(browser.FirefoxLatest), argMap },
new Object[] { new SauceTestHelper(browser.IE8), argMap },
new Object[] { new SauceTestHelper(browser.IE9), argMap },
new Object[] { new SauceTestHelper(browser.IE10), argMap },
new Object[] { new SauceTestHelper(browser.IE11), argMap },
new Object[] { new SauceTestHelper(browser.Safari7), argMap },
new Object[] { new SauceTestHelper(browser.Chrome), argMap }
};
}
}
在上面的代碼,TestNG的應創建類FactoryDataProviderTestBase,一個的多個實例爲每個定義的瀏覽器?
我不熟悉TestNG,但JUnit有一個參數化的runner選項,它允許您在運行測試之前設置參數。 TestNG可能有類似的東西。看看這個答案是否有助於你的案例http://stackoverflow.com/questions/26604745/parameterized-selenium-tests-in-parallel-with-testng。 – shri046 2014-11-03 16:10:32