public class SingleLogTest extends BaseExample {
private final String filePath = "file-path.html";
@BeforeClass
public void beforeClass() {
extent = new ExtentReports(filePath, true);
extent.startReporter(ReporterType.DB, "extent.db");
extent.addSystemInfo("Host Name", "Anshoo");
}
@Test
public void passTest() {
test = extent.startTest("passTest");
test.log(LogStatus.PASS, "Pass");
Assert.assertEquals(test.getRunStatus(), LogStatus.PASS);
}
@Test
public void intentionalFailure() {
test = extent.startTest("intentionalFailure");
test.log(LogStatus.FAIL, "Fail");
Assert.assertEquals(test.getRunStatus(), LogStatus.PASS);
}
}public abstract class BaseExample {
protected ExtentReports extent;
protected ExtentTest test;
@AfterMethod
protected void afterEachTest(ITestResult result) {
if (!result.isSuccess()) {
test.log(LogStatus.FAIL, result.getThrowable());
}
extent.endTest(test);
extent.flush();
}
@AfterSuite
protected void afterSuite() {
extent.close();
}
}
這里說明一下是因為Testng里面有Assert,而這個Assert的結(jié)果是無法直接輸送到report里的,所以要用到@AfterMethod來獲取到每次執(zhí)行的@Test中的結(jié)果來人為的把這個結(jié)果人為輸送到report中去。
貼一下后生成的結(jié)果,感覺還是不錯的,之后繼續(xù)嘗試著修改這個jar來符合我們自己想要的樣式。
