我正在测试一个带有testng和selenium的web应用程序.测试主要包括打开应用程序的几个页面,并针对每个页面执行一些特定的活动.所以我有一个抽象基类,它执行"开放页面"测试,并定义了一个抽象方法,用作该测试的数据提供者.然后有几个扩展类为数据提供者提供实现,并且除了基类之外还有几个不同的测试.我有一个testsuite.xml,其中包含所有类,这是我从我的日食中运行的.
问题是当我启动测试执行时,testng在基类中为所有对象运行测试,但系统地跳过扩展类中的每个其他测试.有谁知道为什么?任何信息将非常感谢...
要完成信息,这里有一些类和我使用的xml:
基类:
public abstract class BaseWebAppPageTest {
@Test(dataProvider="getMenuLink")
public void testOpen(String menulink){
GenericPageActions.openPage(TestingContext.getSelenium(), menulink);
}
protected abstract String[][] getMenuLink();
}
Run Code Online (Sandbox Code Playgroud)
还有一些扩展类:
TestLanguages:
public class TestLanguages extends BaseWebAppPageTest{
@Test(dependsOnMethods={"testOpen"}, dataProvider="getCreateData")
public void testCreateCorrect(String code, String description, String textDirection, String flag){
Selenium selenium = TestingContext.getSelenium();
LanguagesManagementActions.create(selenium, code, description, textDirection, flag);
Assert.assertTrue(selenium.isTextPresent("Successfully created language"));
}
@Test(dependsOnMethods={"testCreateCorrect"}, dataProvider="getCreateData")
public void testFilter(String code, String description, String textDirection, String flag){
Selenium selenium = TestingContext.getSelenium();
LanguagesManagementActions.filterTable(selenium, 2, code, 30000);
Assert.assertTrue(selenium.getXpathCount("xpath=//span[.='"+code+"']").intValue() == 1);
}
@Test(dependsOnMethods={"testCreateCorrect"}, dataProvider="getCreateData") …Run Code Online (Sandbox Code Playgroud)