配置失败时的 TestNG 自定义错误消息
TestNG custom error message on configuration failure
可以创建测试操作的自定义处理,例如:onTestStart
、onTestSuccess
、onTestFailure
等。可以使用 TestNG 自定义侦听器(here is an article about this).
但是所有的配置失败,跳过都不会被它处理,e.g.用注释 @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 class 看起来像这样:
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 提供监听器,例如通过在基础测试中使用注释 class:
@Listeners({ TestListener.class, ConfigurationListener.class})
public class TestBase {
...
可以创建测试操作的自定义处理,例如:onTestStart
、onTestSuccess
、onTestFailure
等。可以使用 TestNG 自定义侦听器(here is an article about this).
但是所有的配置失败,跳过都不会被它处理,e.g.用注释 @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 class 看起来像这样:
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 提供监听器,例如通过在基础测试中使用注释 class:
@Listeners({ TestListener.class, ConfigurationListener.class})
public class TestBase {
...