Extent Report 4 не создает отчет - PullRequest
0 голосов
/ 11 октября 2019

Я пытаюсь создать версию отчета по экстентам 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");

     } 

Несколько важных моментов, о которых стоит упомянуть Теперь я не получаю сообщение об ошибке, до того, как получил исключение нулевого указателя, но теперь нет ошибки. Кроме того, код работает нормально, но не генерирует отчет по экстентам. Если я соберу все в один класс без тестов и прочее, то смогу создать отчет. Не уверен, почему идет не так.

Я очень ценю вашу помощь.

1 Ответ

0 голосов
/ 11 октября 2019

Я получил ответ на это после прочтения об этом.

в основном я проводил предварительное тестирование без статических переменных, где он должен быть статически инициирован из-за других глобальных переменных.

Приведенный ниже код исправил мои проблемы.

@BeforeTest(alwaysRun = true)
     public static 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");
     }
...