对多个数据输入运行测试(TestNG)

时间:2015-03-18 15:25:39

标签: testng

我是自动化测试的新手(TestNG),我有以下两难困境。我想对多个数据输入运行一些测试。 我的结构是这样的:

  1. 我的测试位于TestHotelSearchResults类上,扩展了另一个类 - InitialSetup,我保留了@BeforeClass方法
  2. @BeforeClass方法中,我实例化驱动程序,转到URL并执行我想在不同目的地执行的初始搜索。 (现在它是在纽约制作的)
  3. 据我所知,我无法将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);
    }
    }
    

1 个答案:

答案 0 :(得分:1)

您只需要分隔数据提供者中的数据。将设置保留在前类和测试中的流程中。

例如。

@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);
    }
相关问题