extentreports-java icon indicating copy to clipboard operation
extentreports-java copied to clipboard

Unable to generate separate report while parallel run in testNG at 'tests' level

Open saiparth opened this issue 7 years ago • 0 comments

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()); }

saiparth avatar Dec 31 '17 04:12 saiparth