如何使用TestNG在selenium中创建和使用后置条件

时间:2018-02-13 04:35:35

标签: java selenium testng

我有如下的TC:

@Test
private void DAMPTC016() {
    System.out.println("DA_MP_TC016_Verify the newly added main parent page is positioned at the location specified as set with \"Displayed After\" field of \"New Page\" form on the main page bar/\"Parent Page\" dropped down menu");
    String pageName1 = Utilities.UniqueObjectString("Pg_", 6);
    LoginPage login = new LoginPage();
    MainPage mainpage = login.open().Login(REPO.SP.getValue(), Account.ID.getValue(), Account.BLANK.getValue());
    mainpage.gotoDashboardAddPage();
    mainpage.setTextToAddPageTxtPageName(pageName1);
    mainpage.clickAddPageBtn();
    String pageName2= Utilities.UniqueObjectString("Pg_", 6);
    mainpage.gotoDashboardAddPage();
    mainpage.setTextToAddPageTxtPageName(pageName2);
    mainpage.clickAddPageBtn(); 
    String actualNextName = mainpage.getNextTagNameByIndex(2);
    String expectedName = mainpage.getNextTagNameByIndex(mainpage.getTagIndexByName(pageName1)-1);      
    Assert.assertEquals(actualNextName, expectedName, "The new page is not exactly created next to the right of \"Overview\" tag");
}

我希望运行后置条件,在测试用例期间使用方法删除两个已创建的页面:

deleteMultiPage(3);  

这个方法在MainPage类中。运行测试用例后如何使用它?
P / s :我想将它放在单独的类中,并在需要该类时调用它。

1 个答案:

答案 0 :(得分:0)

我想你可能想尝试@AfterMethod或@AfterTest。但他们都按照要求行事。

@AfterTest:在所有@Test方法运行后,只运行一次。

@AfterMethod:带注释的方法将在每个测试方法之后运行。

请参阅TestNG注释文档:

[http://testng.org/doc/documentation-main.html#annotations][1]

回到您的查询:

  

这个方法在MainPage类中。运行测试用例后如何使用它? P / s:我想把它分成几个班级,并在需要时调用它。

我们必须使用@AfterMethod来实现这一点:

@AfterMethod
public void tearDownTest() {
    MainPage main = new MainPage();
    main.deleteMultiPage(3);
}

希望这会有所帮助。