运行 对多个数据输入进行测试 (TestNG)
Run tests (TestNG) on multiple data inputs
我是自动化测试(TestNG)的新手,我有以下困境。我想 运行 对多个数据输入进行一些测试。
我的结构是这样的:
- 我的测试是在
TestHotelSearchResults
class 上进行的,它扩展了另一个 class - InitialSetup
我保留我的 @BeforeClass
方法
- 在
@BeforeClass
方法中,我实例化驱动程序,转到 URL 并执行我想在不同目的地执行的初始搜索。 (现在只在纽约生产)
据我所知,我不能将 DataProvider 用于 @BeforeClass
,那么我的替代方案是什么。
class TestHotelSearchResults extends InitialSetup {
@Test
...
}
class InitialSetup extends Base {
@BeforeClass
public void Init() {
super.setUp();
HomePage hp = PageFactory.initElements(getDriver(), HomePage.class);
hp.goTo();
hp.searchHotelAfterDestination("New York", CriteriaSearchEnum.DESTINATION);
}
}
您只需要在数据提供者中分离数据。保持beforeclass的设置和测试的流程。
例如
@BeforeClass
public void setup(){
System.out.println("Init driver here");
}
@DataProvider
public Object[][] sendData(){
return new Object[][]{
{"NewYork"},{"Boston"},{"Chicago"}
};
}
@Test(dataProvider="sendData")
public void test1(String city){
System.out.println("Going to "+city);
}
我是自动化测试(TestNG)的新手,我有以下困境。我想 运行 对多个数据输入进行一些测试。 我的结构是这样的:
- 我的测试是在
TestHotelSearchResults
class 上进行的,它扩展了另一个 class -InitialSetup
我保留我的@BeforeClass
方法 - 在
@BeforeClass
方法中,我实例化驱动程序,转到 URL 并执行我想在不同目的地执行的初始搜索。 (现在只在纽约生产)
据我所知,我不能将 DataProvider 用于 @BeforeClass
,那么我的替代方案是什么。
class TestHotelSearchResults extends InitialSetup {
@Test
...
}
class InitialSetup extends Base {
@BeforeClass
public void Init() {
super.setUp();
HomePage hp = PageFactory.initElements(getDriver(), HomePage.class);
hp.goTo();
hp.searchHotelAfterDestination("New York", CriteriaSearchEnum.DESTINATION);
}
}
您只需要在数据提供者中分离数据。保持beforeclass的设置和测试的流程。
例如
@BeforeClass
public void setup(){
System.out.println("Init driver here");
}
@DataProvider
public Object[][] sendData(){
return new Object[][]{
{"NewYork"},{"Boston"},{"Chicago"}
};
}
@Test(dataProvider="sendData")
public void test1(String city){
System.out.println("Going to "+city);
}