Я пытаюсь создать версию отчета по экстентам v4.0.9, но не могу это сделать. Ниже код, который я написал для класса setUp, который имеет все до метода и после метафора, и тот же класс расширен до класса Utilities, где я выполняю тесты.
Вот код для класса setUp
public class AIG_SetUp {
protected static ExtentLoggerReporter logger;
protected static ExtentReports extent;
protected static ExtentTest log;
@BeforeTest(alwaysRun = true)
public void starttest() {
logger = new ExtentLoggerReporter(System.getProperty("user.dir"));
extent = new ExtentReports();
extent.attachReporter(logger);
System.err.close(); // written to remove JAVA 9 incompatibility.. continued below
System.setErr(System.out); // continue.. and remove the warnings
extent.setSystemInfo("User Name" , "Sobhit");
}
@AfterMethod(alwaysRun = true)
public void endReport(ITestResult result) {
try {
if (result.getStatus() == ITestResult.FAILURE) {
log.log(Status.FAIL , "Test cases Failed" + result.getName());
log.log(Status.FAIL , "Test cases Failed" + result.getThrowable());
} else if (result.getStatus() == ITestResult.SKIP) {
log.log(Status.SKIP , "Test case skipped is" + result.getName());
}
} catch (Exception e) {
e.printStackTrace();
}
}
@AfterTest(alwaysRun = true)
public void endReport() {
extent.flush();
}
}
А вот класс утилит, который распространяется на вышеприведенный класс.
public class UtilitiesOps extends AIG_SetUp {
@Test(groups = {"Core-Smoke"}, description = "List all media types")
public void Verify_List_all_media_types() {
extent.attachReporter(logger);
extent = new ExtentReports();
log = extent.createTest("List all media types");
log.assignCategory("Utilities Operations");
}
Несколько важных моментов, о которых стоит упомянуть Теперь я не получаю сообщение об ошибке, до того, как получил исключение нулевого указателя, но теперь нет ошибки. Кроме того, код работает нормально, но не генерирует отчет по экстентам. Если я соберу все в один класс без тестов и прочее, то смогу создать отчет. Не уверен, почему идет не так.
Я очень ценю вашу помощь.