使用reportNG替換testNG的默認報告


關於reportng的官網介紹:http://reportng.uncommons.org/

1.下載reportNG的jar包:http://pan.baidu.com/s/1hq5znLU

2.reprotNG的源碼:https://github.com/dwdyer/reportng

3.在項目中導入reportNG的jar包

4.更改eclipse設置

5.設置完成后,運行項目,在項目test-output/html/index.html即可查看report

6.設置reportng的編碼

更改源文件的AbstractReporter.java,並替換相應jar包的class

    protected void generateFile(File file,
                                String templateName,
                                VelocityContext context) throws Exception
    {
        //Writer writer = new BufferedWriter(new FileWriter(file));
        //encoding to utf-8
        OutputStream out=new FileOutputStream(file);
        Writer writer=new BufferedWriter(new OutputStreamWriter(out,"utf-8"));
        try
        {
            Velocity.mergeTemplate(classpathPrefix + templateName,
                                   ENCODING,
                                   context,
                                   writer);
            writer.flush();
        }
        finally
        {
            writer.close();
        }
    }

 

7.更改報告的方法排列順序,按照方法的執行先后順序來進行排序的

更改TestResultComparator.java,並替換相應jar包的class

     public int compare(ITestResult result1, ITestResult result2)
     {
         //return result1.getName().compareTo(result2.getName());
         int longresult2 = 0;
         if(result1.getStartMillis()<result2.getStartMillis()) {
             longresult2 = -1;
         }else {
             longresult2 = 1;
         }
         return longresult2;
     }

 8.teng的xml文件

<?xml version="1.0" encoding="UTF-8"?>
<suite name="測試用例集" parallel="false">
<listeners>
<listener class-name="org.uncommons.reportng.HTMLReporter" />
<listener class-name="org.uncommons.reportng.JUnitXMLReporter" />
</listeners>
  <test verbose="8" name="TestNgrepotng">
    <classes>
      <class name="com.reprot.TestNgrepotng"/>
    </classes>
  </test> <!-- Test -->
    <test verbose="8" name="Test22">
    <classes>
      <class name="com.reprot.Test22"/>
    </classes>
  </test>
</suite> <!-- Suite -->

 9.更改報告輸出樣式

在reportng-1.1.4.jar的reportng.properties文件中增加

oneclass.description=Description
oneclass.duration=Duration
oneclass.testdata=Data being used
oneclass.testresult=Test result
oneclass.screenshot=Screen shot
oneclass.additionalinfo=Additional Info

在reportng-1.1.4.jar的results.html.vm文件中更改

<tr>
<td colspan="1" class="group">$testClass.name</td>
<td colspan="1" class="group">$messages.getString("oneclass.duration")</td>
<td colspan="1" class="group">$messages.getString("oneclass.testresult")</td>
</tr>

10.效果圖


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM