Friday, January 31, 2014

Selenium: TestNG Error Reporting using IReporter (without halting)

 TestNG Error Reporting using IReporter (without halting)


1.Create a package inside your project.Ex:Reporter
2. Create a new Class CustomReporter  inside the package.
3. Copy the below code inside the Class as in the screenshot (Code below).


4. Goto your testng.xml file and add the following code as in the screenshot : 

5. My SampleTest file containing all the test Cases look like this .
6 . The result will look like this :







Code for - CustomReporter :

import java.util.List;
import java.util.Map;
import org.testng.IReporter;
import org.testng.ISuite;
import org.testng.ISuiteResult;
import org.testng.ITestContext;
import org.testng.xml.XmlSuite;

public class CustomReporter implements IReporter {

  @Override
  public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites, String outputDirectory) {
  //Iterating over each suite included in the test
   for (ISuite suite : suites) {
     //Following code gets the suite name
     String suiteName = suite.getName();
     //Getting the results for the said suite
     Map<String, ISuiteResult> suiteResults = suite.getResults();
     for (ISuiteResult sr : suiteResults.values()) {
       ITestContext tc = sr.getTestContext();
       System.out.println("Passed tests for suite '" + suiteName +"' is:" + tc.getPassedTests().getAllResults().size());
       System.out.println("Failed tests for suite '" + suiteName +"' is:" + tc.getFailedTests().getAllResults().size());
       System.out.println("Skipped tests for suite '" + suiteName +"' is:" + tc.getSkippedTests().getAllResults().size());
     }
   }
  }
}

No comments:

Post a Comment