testNg之TestngRetry

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import org.testng.IRetryAnalyzer;
import org.testng.ITestResult;
import org.testng.Reporter;


/**
 * TestNG retry Analyzer.
 * 
 * 
 */
public class TestngRetry implements IRetryAnalyzer {
static {
PropertyConfigurator.configure("./config/log4j.properties");
}
private static Logger logger = Logger.getLogger(TestngRetry.class);
private int retryCount = 1;
private static int maxRetryCount;


static {
ConfigReader config = ConfigReader.getInstance();
maxRetryCount = config.getRetryCount();
logger.info("RetryCount=" + maxRetryCount);
logger.info("SourceDir=" + config.getSourceCodeDir());
logger.info("SourceEncoding=" + config.getSrouceCodeEncoding());
}


public boolean retry(ITestResult result) {
if (retryCount <= maxRetryCount) {
String message = "Retry for: [" + result.getName() + "] on class [" + result.getTestClass().getName() + "] retry " + retryCount + " times";
logger.info(message);
Reporter.setCurrentTestResult(result);
Reporter.log("RunCount=" + (retryCount + 1));
retryCount++;
return true;
}
return false;
}


public static int getMaxRetryCount() {
return maxRetryCount;
}


public int getRetryCount() {
return retryCount;
}


}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章