Selenium webdriver 在TestNG中使用getRetryAnalyzerClass时,请重试从IRetryAnalyzer实现的未执行的方法

Selenium webdriver 在TestNG中使用getRetryAnalyzerClass时,请重试从IRetryAnalyzer实现的未执行的方法,selenium-webdriver,testng,Selenium Webdriver,Testng,请求在以下方面帮助我 操作系统:Windows 8.1 Pro Java版本:1.8.0_141 Maven依赖项:- *硒:3.141.59 *TestNG:7.0.0 问题1:当我使用从“iNotationTransformer”实现的“getRetryAnalyzerClass”时,当测试失败时,从“IRetryAnalyzer”实现的“retry”方法不会执行 但如果我使用“getRetryAnalyzer”,就会执行重试方法 提前感谢您的帮助。请尝试以下代码和步骤 public cl

请求在以下方面帮助我

操作系统:Windows 8.1 Pro
Java版本:1.8.0_141
Maven依赖项:-
*硒:3.141.59
*TestNG:7.0.0

问题1:当我使用从“iNotationTransformer”实现的“getRetryAnalyzerClass”时,当测试失败时,从“IRetryAnalyzer”实现的“retry”方法不会执行
但如果我使用“getRetryAnalyzer”,就会执行重试方法



提前感谢您的帮助。

请尝试以下代码和步骤

public class RetryListener implements IAnnotationTransformer {
@SuppressWarnings({ "rawtypes" })
@Override
public void transform(ITestAnnotation itestannotation, Class testClass, Constructor testConstructor, Method testMethod) {
        itestannotation.setRetryAnalyzer(RetryFailedTC.class); 
    }
}
  • 在RetryFailedTC类中,为IRetryanalyzer接口的未实现方法编写代码
  • 在测试方法中,对测试方法使用注释
    @test(retryanalyzer=Retry FailedTC.class)
  • 它会工作的。

    Class
    
    ===============================================
    Suite
    Total tests run: 2, Passes: 0, Failures: 1, Skips: 0, Retries: 1
    ===============================================
    [TestNG] Reporter [FailedReporter passed=0 failed=0 skipped=0] failed <br>
    at java.util.HashMap.putMapEntries(Unknown Source) <br>
    at java.util.HashMap.putAll(Unknown Source) <br>
    at org.testng.xml.XmlClass.setParameters(XmlClass.java:231) <br>
    at org.testng.reporters.FailedReporter.createXmlClasses(FailedReporter.java:199) <br>
    at org.testng.reporters.FailedReporter.createXmlTest(FailedReporter.java:150) <br>
    at org.testng.reporters.FailedReporter.generateXmlTest(FailedReporter.java:124) <br>
    at org.testng.reporters.FailedReporter.generateFailureSuite(FailedReporter.java:64) <br>
    at org.testng.reporters.FailedReporter.generateReport(FailedReporter.java:49) <br>
    at org.testng.TestNG.generateReports(TestNG.java:1062) <br>
    at org.testng.TestNG.run(TestNG.java:1005) <br>
    at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:115) <br>
    at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251) <br>
    at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77) <br>
    
    public class RetryListener implements IAnnotationTransformer {
    @SuppressWarnings({ "rawtypes" })
    @Override
    public void transform(ITestAnnotation itestannotation, Class testClass, Constructor testConstructor, Method testMethod) {
            itestannotation.setRetryAnalyzer(RetryFailedTC.class); 
        }
    }