Generating HTML TestNG reports

后端 未结 4 1684
无人及你
无人及你 2020-12-12 04:27

I want to generate HTML testNG reports. By default we have a report file after running testNG called \"emailable-reports\". But now i want to create my own HTML report. I t

4条回答
  •  孤街浪徒
    2020-12-12 05:10

    I know this is an old thread, but I have explained here how to customize TestHTMLReporter and here it is:

    With your customReport You'd have to implement IReporter , extend TestListenerAdapter and override generateReport method if you want to implement a custom TestHTMLReporter . For other reporters you may have to do things a bit differently but the concept will remain the same. You'd achieve custom 'TestHTMLReporter' like below .

    Create a CustomReport.java file in your project and copy-paste the whole content of TestHTMLReporter.java , change the name of file in getOutputFile method and it would look like below

    public class CustomReport  extends TestListenerAdapter implements IReporter {
    
         @Override
            public void generateReport(List xmlSuites, List suites,
                                       String outputDirectory) {
    
            }
       ...
       //paste the content of TestHTMLReporter.java here
       ...
       ...
    

    Make sure all your imports are in place from TestHTMLReporter.java Now, in this file change as per your requirement . For ex: if you'd like to add the end time of each of the test then at the correct place in generateTable method add the below snippet

    // Test class
          String testClass = tr.getTestClass().getName();
           long testMillis = tr.getEndMillis();
            String testMillisString = Long.toString(testMillis);
          if (testClass != null) {
            pw.append("
    ").append("Test class Name: ").append(testClass); // this line to add end time in ms pw.append("
    ").append("End Time(ms): ").append(testMillisString); // Test name String testName = tr.getTestName(); if (testName != null) { pw.append(" (").append(testName).append(")"); }

    Then you'll get like below

    Now, You'll get two reports one with default and the other with your file name. The only thing now remains is switching off the default reporting listeners, so you get only one report. For that you can follow this or you may search for solutions. Hope this helps

提交回复
热议问题