總結:幾種生成html格式測試報告的方法 項目構建工具ant的使用 用插件maven-surefire-report-plugin生成html格式測試報告

寫自動化測試時,一個很重要的任務就是生成漂亮的測試報告。javascript

1.用junit或testNg時,能夠用ant輔助生成html格式:html

<target name="report" depends="run">java

        <junitreport todir="${report.dir}">python

            <fileset dir="${report.dir}">maven

                <include name="TEST-*.xml" />工具

            </fileset>post

            <report format="noframes" todir="${report.dir}" />測試

        </junitreport>url

        <echo message="Finished running tests." />插件

    </target>

具體查看個人另一篇博客:項目構建工具ant的使用

 

2.用maven管理測試代碼時,能夠用maven自帶的插件生成html格式的測試報告:

具體查看博客:用插件maven-surefire-report-plugin生成html格式測試報告

 

3.用xslt格式化xml,生成html格式文件

(1)簡要介紹XSLT:

XSLT是一種用於將XML文檔轉換任意文本的描述語言,XSLT中的T表明英語中的「轉換」(Transformation)。

Xslt使用xpath來在xml文件中定位元素

(2)準備xml文件

好比說是a.xml文件:

<?xml version="1.0"?>
<howto>
  <topic>
      <title>Java</title>
      <url>http://www.java.com</url>
  </topic>
    <topic>
      <title>Python</title>
      <url>http://www.python.com</url>
  </topic>
      <topic>
        <title>Javascript</title>
        <url>http://www.javascript.com</url>
  </topic>
      <topic>
        <title>VBScript</title>
        <url>http://www.VBScript.com</url>
  </topic>
</howto>

 

(3)準備xsl文件,a.xsl:

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<head><title>Real's HowTo</title></head>
<body>
<table border="1">
<tr>
<th>Title</th>
<th>URL</th>
</tr>
<xsl:for-each select="howto/topic">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="url"/></td>
</tr>
</xsl:for-each>
</table>
</body></html>
</xsl:template>
</xsl:stylesheet>

解釋:

因爲 XSL 樣式表自己也是一個 XML 文檔,所以它老是由 XML 聲明起始:<?xml version="1.0"?>

把文檔聲明爲 XSL 樣式表的根元素是 <xsl:stylesheet> 或 <xsl:transform>,如需訪問 XSLT 的元素、屬性以及特性,咱們必須在文檔頂端聲明 XSLT 命名空間。

xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 指向了官方的 W3C XSLT 命名空間。若是您使用此命名空間,就必須包含屬性 version="1.0"。

<xsl:template> 元素用於構建模板,而 match="/" 屬性則把此模板與 XML 源文檔的根相聯繫

<xsl:value-of select=「howto/topic」/ > 元素用於提取某個選定節點的值,select後面是xpath用來定位xml

<xsl:for-each> 元素容許您在 XSLT 中進行循環。

 

(4).準備java轉換代碼

package com.qiuwy.mavenDemo.myTest;

import javax.xml.transform.*;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
import java.io.*;

public class XmlToHtml {
    public static void main(String[] args) {
        String src="a.xml";
        String dest="a.html";
        String xslt="a.xsl";
        
        File src2=new File(src);
        File dest2=new File(dest);
        File xslt2=new File(xslt);
        
        Source srcSource=new StreamSource(src2);
        Result destResult =new StreamResult(dest2);
        Source xsltSource=new StreamSource(xslt2);
        
        try {
            TransformerFactory tFactory = TransformerFactory.newInstance();
            Transformer transformer = tFactory.newTransformer(xsltSource);
            transformer.transform(srcSource, destResult);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

 

(5)執行java代碼後,生成a.html文件

以上只是一個簡單的例子,實際運用過程當中仍是要複雜不少

相關文章
相關標籤/搜索