Java 有没有办法在IResultListener方法之前运行@after方法?

Java 有没有办法在IResultListener方法之前运行@after方法?,java,testing,testng,Java,Testing,Testng,我有一个监听器,它实现了IResultListener2的onTestSuccess和onTestFailure方法。在我的测试中,我用@after注释的方法创建了一个屏幕截图,这是侦听器所需要的。但是testng在@after方法之前调用侦听器中的方法 是否有参数首先运行@after方法?AFAIK,没有此类参数。after方法将特定于一组特定的情况。难道你不想为你的所有案例而不是特定的一组案例执行截图逻辑吗?在这种情况下,您的屏幕截图捕获逻辑应该在侦听器方法中,特定案例集的任何清理逻辑都应该

我有一个监听器,它实现了IResultListener2的onTestSuccess和onTestFailure方法。在我的测试中,我用@after注释的方法创建了一个屏幕截图,这是侦听器所需要的。但是testng在@after方法之前调用侦听器中的方法


是否有参数首先运行@after方法?

AFAIK,没有此类参数。after方法将特定于一组特定的情况。难道你不想为你的所有案例而不是特定的一组案例执行截图逻辑吗?在这种情况下,您的屏幕截图捕获逻辑应该在侦听器方法中,特定案例集的任何清理逻辑都应该在after方法中。
如果您想在aftermethods之后执行某些特定的操作,那么您可以尝试实现IconfigurationListener,并在检查调用方法是否为aftermethod后实现这些方法,如

public void onConfigurationSuccess(ITestResult arg0) {
    if(arg0.getMethod().isAfterMethodConfiguration())...do something;

}
希望能有帮助