extentreports-java
extentreports-java copied to clipboard
Unable to generate separate report while parallel run in testNG at 'tests' level
Hi Anshoo Thanks for the creating nice reports.I have requirement of generating separate report when tests run parallel at suite level.Means if a tests runs I want chrome.html and firefox.html. I have used the code that you have mentioned in https://github.com/anshooarora/extentreports-java/issues/868.But if I execute code,it generates a single file,In it it displayes 2 tests results.I tried adding starts extent at @beforeMethod,@beforeTests.But it generates single reports.My extent.flush is at @afterClass
public class BrowserFactory { final static Logger log = Logger.getLogger(BrowserFactory.class); static WebDriver wd = null; @BeforeSuite public static void extent( ) { DateFormat dateformat = new SimpleDateFormat("ddMMyyyyHHmmss"); Date date = new Date(); String path = "C:\Users\partha\Desktop\Reports\" + dateformat.format(date) + ".html"; if (ExtentReportHelperClass.getInstance() == null) ExtentReportHelperClass.createInstance(path); } @BeforeClass @Parameters({ "browser"}) public static WebDriver browserStarter(String browser) { PropertyConfigurator.configure(System.getProperty("user.dir") + "/log4j.properties"); log.debug("browser intailizing - " + browser); try { switch (browser.toLowerCase()) { case "chrome": wd = new ChromeDriver(); wd.manage().window().maximize(); wd.manage().logs().get(LogType.BROWSER); break; case "firefox": wd = new FirefoxDriver(); break; default: wd = new ChromeDriver(); break; } } catch (Exception e) { log.fatal("error in intalizing browser" + e); throw e; } return wd; }
@AfterClass
@Parameters({ "reportPath" })
public synchronized void closeDriver(String s) {
ExtentReportHelperClass.flush();
log.info("executing " + s);
}
@AfterSuite
public synchronized void tearDown() {
wd.quit();
}
}
@Override public void onTestStart(ITestResult result) { String name =result.getName(); //I tried before tests too ExtentTestManage.createTest(name); } @Override public void onTestSuccess(ITestResult result) { ExtentTestManage.getTest().pass(result.getName()); }