第一步:你需要在你的項目中添加如下兩個類(Retry.java和RetryListener.java)
Retry.java代碼如下:
import org.testng.IRetryAnalyzer;
import org.testng.ITestResult;
public class Retry implements IRetryAnalyzer {
private int retryCount = 0;
private int maxRetryCount = 2; // retry a failed test 2 additional times
@Override
public boolean retry(ITestResult result) {
if (retryCount <maxRetryCount) {
retryCount++;
return true;
}
return false;
}
}
RetryListener.java代碼如下:
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import org.testng.IAnnotationTransformer;
import org.testng.IRetryAnalyzer;
import org.testng.annotations.ITestAnnotation;
public class RetryListener implements IAnnotationTransformer {
public void transform(ITestAnnotation annotation, Class testClass,
Constructor testConstructor, Method testMethod) {
IRetryAnalyzer retry = annotation.getRetryAnalyzer();
if (retry == null) {
annotation.setRetryAnalyzer(Retry.class);
}
}
}
第二步:在項目的根目錄下新建一個pom.xml文件,並修改對應的value
pom.xml的內容如下:
<properties>
<property>
<name>listener</name>
<value>Jerrisoft.GroupOne.Basics.RetryListener</value>
</property>
</properties>
第三步:編寫TestCase
在需要執行的用例下加上"retryAnalyzer= TestNGRetry.class"
例如,
@Test(retryAnalyzer= TestNGRetry.class)
public void case1(){
ccs_dda.Login(driver,"中文");
home.FirstMenu(driver, "課程");
home.switchCourse(driver, "必修課");
course.View(driver);
}
至此運行該類就可以了!