Нулевой указатель Selenium с использованием Threadlocal и Extent Report - PullRequest
0 голосов
/ 25 июня 2019

Я пытаюсь использовать экстент с локальным потоком, чтобы я мог работать параллельно. Проведение моих занятий параллельно.

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

BaseClass

public class BaseClass{

private static ThreadLocal<ExtentTest> testReport = new ThreadLocal<ExtentTest>();
public static ExtentReports extent;
@BeforeSuite
public void beforeSuite(ITestContext context) throws Exception {
     //Initiate Extent Report
        extent = ExtentReporter.createInstance(context, true);
}
@BeforeMethod
protected void setUpDriver(Method method, Object[] testArgs,ITestContext iTestContext) {

        //Start Test of Extent Report
        ExtentTest extentTest = extent.startTest((this.getClass().getSimpleName() + " :: " + method.getName()), method.getName());
        testReport.set(extentTest);

        testReport.get().assignCategory("", this.getClass().getSimpleName());

        //use extent report
        testReport.get().log(LogStatus.INFO, "Inside Base class - Before Method");
}
}   

ExtentReporter:

public class ExtentReporter {

private static String reportName;
private static String reportPath;
private static File directory = new File(".");
private static String ReportRootFolder;

private static ExtentReports extent;

public ExtentReports getExtent() {

    return this.extent;
}

public static ExtentReports getInstance(ITestContext context, boolean replaceExisting) {

    try {
        if (extent == null)
            createInstance(context, replaceExisting);
    } catch (Exception e) {
        System.out.println(e.getMessage());
    }
    return extent;
}


public static ExtentReports createInstance(ITestContext context, boolean replaceExisting) throws Exception {

    try {

        extent = new ExtentReports(reportPath, true);

        extent.loadConfig(new File(reportPath));
        extent.addSystemInfo("Environment", "QA");
    } catch (Exception e) {
        System.out.println(e.getMessage());
    }

    return extent;
}

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...