0

由于我的设置不断增长,我想使用 TestNG 的更多功能。所以今天我试图在我的 testng.xml 文件中排除一个 groud。

当我将整个类声明为组的一部分时,这不会阻止构造函数完成它的工作(启动 WebDriver 实例)。

@Test(groups = "default")
public class ABCDefaultTest extends AbstractABCTest {

    public ABCDefaultTest() {
        super();
    }


}

请注意:AbstractABCTest 是“abc”组的一部分

我想在 AfterClass 方法中退出 WebDriver 并添加 (alwaysRun = true) 但这不起作用。

似乎构造函数不是组的一部分(如果您在一个类中有不同的组,这很好)但是 @AfterClass (alwaysRun = true) 注释的方法是......

但是,如果只有为课程指定的组而没有部分组,那么启动课程是没有意义的,对吧?

你能告诉我我做错了什么或者这是一个错误吗?

4

1 回答 1

0

您的解释是正确的,组仅适用于 TestNG 注释方法。如果一个组被排除在外,你应该避免在构造函数中做你不希望发生的工作。

在属于该组的 @Before* 方法中执行这项工作怎么样?然后您只需要决定哪种配置方法适合您:@BeforeSuite、@BeforeTest、@BeforeGroup 或@BeforeClass。

于 2012-07-09T15:54:10.137 回答