测试NG配置失败的自定义错误消息


可以

创建自定义的测试操作处理,例如:onTestStartonTestSuccessonTestFailure等。它们可以使用 TestNG 自定义侦听器来处理(这是一篇关于此的文章)。

但是所有配置失败,跳过都不由它处理,例如用注释@BeforeTest@BeforeClass@AfterClass等定义的方法。我有这样的日志:

FAILED CONFIGURATION: @BeforeTest setUp
org.testng.internal.thread.ThreadTimeoutException: Method org.testng.internal.ConfigurationMethod.setUp() didn't finish within the time-out 10000
...
SKIPPED CONFIGURATION: @BeforeClass openModule1
SKIPPED CONFIGURATION: @AfterClass closeModule1
SKIPPED CONFIGURATION: @BeforeClass openModule2
SKIPPED CONFIGURATION: @AfterClass closeModule2
SKIPPED: testOpenTabs
SKIPPED: testPrint
SKIPPED: testFilterDataRequest

是否可以为配置操作创建侦听器?

所有这些都是用IConfigurationListener完成的。ConfigurationListener 类看起来像这样:

public class ConfigurationListener implements IConfigurationListener {
    @Override
    public void onConfigurationSuccess(ITestResult itr) {
        Logger.log("LOG From ConfigurationListener onConfigurationSuccess:: ");
    }
    @Override
    public void onConfigurationFailure(ITestResult itr) {
        Logger.log("LOG From ConfigurationListener onConfigurationFailure:: ");     
    }
    @Override
    public void onConfigurationSkip(ITestResult itr) {
        Logger.log("LOG From ConfigurationListener onConfigurationSkip:: ");        
    }
}

并且不要忘记为 TestNG 提供侦听器,例如,在基本测试类中使用注释:

@Listeners({ TestListener.class, ConfigurationListener.class})
public class TestBase {
    ...

这是一篇关于测试中不同听众的好文章

最新更新