Skip to content

Instantly share code, notes, and snippets.

@krmahadevan
Created December 27, 2019 04:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save krmahadevan/43ee6777ea17b86642f518a1953fb08c to your computer and use it in GitHub Desktop.
Save krmahadevan/43ee6777ea17b86642f518a1953fb08c to your computer and use it in GitHub Desktop.
A reporter example that shows how to extract logs for each Test Method in TestNG
import java.util.ArrayList;
import java.util.List;
import org.testng.IReporter;
import org.testng.ISuite;
import org.testng.ISuiteResult;
import org.testng.ITestResult;
import org.testng.Reporter;
import org.testng.xml.XmlSuite;
public class SampleReporter implements IReporter {
@Override
public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites,
String outputDirectory) {
suites.forEach(this::generateReport);
}
private void generateReport(ISuite suite) {
suite.getResults().values().forEach(this::generateReport);
}
private void generateReport(ISuiteResult suiteResult) {
List<ITestResult> allResults = new ArrayList<>(
suiteResult.getTestContext().getPassedTests().getAllResults());
allResults.addAll(suiteResult.getTestContext().getFailedTests().getAllResults());
allResults.forEach(this::generateReport);
}
private void generateReport(ITestResult testResult) {
List<String> logs = Reporter.getOutput(testResult);
logs.forEach(System.out::println);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment