У меня есть этот код для тестирования сайта с селеном webdriver. Существует четыре метода @Test
и @DataProvider
с тремя значениями. Таким образом, в общей сложности двенадцать тестов запускаются.Повторите весь тестовый класс в TestNG с разными параметрами
public class SomeTest {
WebDriver driver;
@DataProvider(name = "URLs")
public Object[][] createData1() {
return new Object[][] {
{"url 1"},
{"url 2"},
{"url 3"}};
}
@BeforeMethod
//right now I'm just setting up weddriver for chrome, but
//I'll need to run this test for firefox, chrome, and IE
public void setUpWebDriver(){
driver = WebDrivers.getChromeDriver();
}
@AfterMethod
public void closeWebDriver(){
driver.quit();
}
//test methods below
@Test(dataProvider = "URLs")
public void test1(String url){
//test 1 with url
}
@Test(dataProvider = "URLs")
public void test2(String url){
//test 2 with url
}
@Test(dataProvider = "URLs")
public void test3(String url){
//test 3 with url
}
@Test(dataProvider = "URLs")
public void test4(String url){
//test 4 with url
}
}
В настоящий момент эти тесты выполняются под Chrome. Но я также хочу повторить все эти тесты со всеми вариантами поставщика данных в Firefox и Internet Explorer. Как я могу повторить весь класс тестов для этих других веб-мастеров? Это похоже на то, что мне нужен @DataProvider
для всего класса (для beforemethod).
У меня была такая же проблема, когда я использовал Selenium + TestNG для моего проекта тестирования веб-приложений. Я попросил о помощи в списке рассылки TestNG и получил некоторые, но я никогда не нашел решение, которое мне действительно понравилось. – reinierpost