I am trying to concept out how to implement a Factory to test a test class on all browsers that I have defined. Is there a better way to do this. Can anyone suggest a basic improvement?
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 }
};
}
}
In the code above, TestNG should create multiple instances of the class FactoryDataProviderTestBase, one for each defined browser?