XSLT:如何显示通过失败测试用例的计数

时间:2014-05-06 09:24:47

标签: xslt xslt-1.0

我需要显示通过失败测试用例的数量...请看输出....任何帮助?以下逻辑工作正常。感谢所有.....我的样式表附在下面

输入:

 <TESTSEQUENCE> 
          <TESTCASESTARTTIME>2014-05-02 16:02:38</TESTCASESTARTTIME> 
          <TESTCASENAME>TRAFFIC_MIXED_COLD_TP-A15 </TESTCASENAME> 
          <SCRIPTFILENAME>/proj/cpptemp/dt/network_repo/398/int/IEXS_CRX901185_1/iov/cbm1-3_mct/tc/Traffic.tcl</SCRIPTFILENAME>  
          <HTMLLOGFILENAME>TRAFFIC_MIXED_COLD_TP-A15.html</HTMLLOGFILENAME> 
          <RESULT>ABORTED</RESULT> 
          <FINISHTIME>1399039672</FINISHTIME> 
        </TESTSEQUENCE>
    <TESTSEQUENCE>.......</TESTSEQUENCE>
    <TESTSEQUENCE>.......</TESTSEQUENCE>
    <TESTSEQUENCE>.......</TESTSEQUENCE>

样式表:

 <xsl:template match="/">
    <xsl:for-each select="TESTSEQUENCE">
        <testcase>
            <xsl:for-each select="*[not (self::TESTCASESTARTTIME or self::TESTCASENAME or self::HTMLLOGFILENAME or self::RESULT)]">
                <xsl:attribute name="{name()}">
                    <xsl:value-of select="."/>
                </xsl:attribute>
            </xsl:for-each> 
            <xsl:attribute name="time">
                <xsl:value-of select="TESTCASESTARTTIME"/>
            </xsl:attribute>
            <xsl:attribute name="name">
                <xsl:value-of select="TESTCASENAME"/>
            </xsl:attribute>
            <xsl:attribute name="url">
                <xsl:value-of select="HTMLLOGFILENAME"/>
            </xsl:attribute>
            <xsl:attribute name="status">
                <xsl:value-of select="RESULT"/>
            </xsl:attribute>
        </testcase>
    </xsl:for-each>
    </xsl:template>

    </xsl:stylesheet>

输出:

 <testsuite  tests=5 passed=3 failed=2>
            <testcase time="2014-05-02 16:02:38" name="TRAFFIC_MIXED_COLD_TP-A15 " scriptfilename="mct/tc/Traffic.tcl" url="TRAFFIC_MIXED_COLD_TP-A15.txt" status="PASSED" finishtime="1399039672">
            </testcase>
        <testcase status="PASSED"></testcase>
        <testcase status="PASSED"></testcase>
        <testcase status="failed"></testcase>
        <testcase status="failed"></testcase>
        </testsuite>

1 个答案:

答案 0 :(得分:0)

我大多在猜这里。给出输入:

<TESTSUITE>
    <TESTSEQUENCE> 
          <TESTCASESTARTTIME>2014-05-02 16:02:38</TESTCASESTARTTIME> 
          <TESTCASENAME>A</TESTCASENAME> 
          <SCRIPTFILENAME>/proj/cpptemp/dt/network_repo/398/int/IEXS_CRX901185_1/iov/cbm1-3_mct/tc/Traffic.tcl</SCRIPTFILENAME>  
          <HTMLLOGFILENAME>TRAFFIC_MIXED_COLD_TP-A15.html</HTMLLOGFILENAME> 
          <RESULT>FAILED</RESULT> 
          <FINISHTIME>1399039672</FINISHTIME> 
    </TESTSEQUENCE>
    <TESTSEQUENCE> 
          <TESTCASESTARTTIME>2014-05-02 16:02:39</TESTCASESTARTTIME> 
          <TESTCASENAME>B</TESTCASENAME> 
          <SCRIPTFILENAME>/proj/cpptemp/dt/network_repo/398/int/IEXS_CRX901185_1/iov/cbm1-3_mct/tc/Traffic.tcl</SCRIPTFILENAME>  
          <HTMLLOGFILENAME>TRAFFIC_MIXED_COLD_TP-A15.html</HTMLLOGFILENAME> 
          <RESULT>PASSED</RESULT> 
          <FINISHTIME>1399039682</FINISHTIME> 
    </TESTSEQUENCE>
    <TESTSEQUENCE> 
          <TESTCASESTARTTIME>2014-05-02 16:02:40</TESTCASESTARTTIME> 
          <TESTCASENAME>C</TESTCASENAME> 
          <SCRIPTFILENAME>/proj/cpptemp/dt/network_repo/398/int/IEXS_CRX901185_1/iov/cbm1-3_mct/tc/Traffic.tcl</SCRIPTFILENAME>  
          <HTMLLOGFILENAME>TRAFFIC_MIXED_COLD_TP-A15.html</HTMLLOGFILENAME> 
          <RESULT>PASSED</RESULT> 
          <FINISHTIME>1399039692</FINISHTIME> 
    </TESTSEQUENCE>
    <TESTSEQUENCE> 
          <TESTCASESTARTTIME>2014-05-02 16:02:41</TESTCASESTARTTIME> 
          <TESTCASENAME>D</TESTCASENAME> 
          <SCRIPTFILENAME>/proj/cpptemp/dt/network_repo/398/int/IEXS_CRX901185_1/iov/cbm1-3_mct/tc/Traffic.tcl</SCRIPTFILENAME>  
          <HTMLLOGFILENAME>TRAFFIC_MIXED_COLD_TP-A15.html</HTMLLOGFILENAME> 
          <RESULT>ABORTED</RESULT> 
          <FINISHTIME>1399039702</FINISHTIME> 
    </TESTSEQUENCE>
    <TESTSEQUENCE> 
          <TESTCASESTARTTIME>2014-05-02 16:02:42</TESTCASESTARTTIME> 
          <TESTCASENAME>E</TESTCASENAME> 
          <SCRIPTFILENAME>/proj/cpptemp/dt/network_repo/398/int/IEXS_CRX901185_1/iov/cbm1-3_mct/tc/Traffic.tcl</SCRIPTFILENAME>  
          <HTMLLOGFILENAME>TRAFFIC_MIXED_COLD_TP-A15.html</HTMLLOGFILENAME> 
          <RESULT>PASSED</RESULT> 
          <FINISHTIME>1399039712</FINISHTIME> 
    </TESTSEQUENCE>
</TESTSUITE> 

以下样式表:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>

<xsl:template match="/TESTSUITE">
    <testsuite tests="{count(TESTSEQUENCE)}" passed="{count(TESTSEQUENCE[RESULT='PASSED'])}" failed="{count(TESTSEQUENCE[RESULT='FAILED'])}">
        <xsl:for-each select="TESTSEQUENCE">
            <testcase>
                <xsl:for-each select="*[not (self::TESTCASESTARTTIME or self::TESTCASENAME or self::HTMLLOGFILENAME or self::RESULT)]">
                    <xsl:attribute name="{name()}">
                        <xsl:value-of select="."/>
                    </xsl:attribute>
                </xsl:for-each> 
                <xsl:attribute name="time">
                    <xsl:value-of select="TESTCASESTARTTIME"/>
                </xsl:attribute>
                <xsl:attribute name="name">
                    <xsl:value-of select="TESTCASENAME"/>
                </xsl:attribute>
                <xsl:attribute name="url">
                    <xsl:value-of select="HTMLLOGFILENAME"/>
                </xsl:attribute>
                <xsl:attribute name="status">
                    <xsl:value-of select="RESULT"/>
                </xsl:attribute>
            </testcase>
        </xsl:for-each>
    </testsuite>
</xsl:template>

</xsl:stylesheet>

将返回以下结果:

<?xml version="1.0" encoding="UTF-8"?>
<testsuite tests="5" passed="3" failed="1">
   <testcase SCRIPTFILENAME="/proj/cpptemp/dt/network_repo/398/int/IEXS_CRX901185_1/iov/cbm1-3_mct/tc/Traffic.tcl" FINISHTIME="1399039672" time="2014-05-02 16:02:38" name="A" url="TRAFFIC_MIXED_COLD_TP-A15.html" status="FAILED"/>
   <testcase SCRIPTFILENAME="/proj/cpptemp/dt/network_repo/398/int/IEXS_CRX901185_1/iov/cbm1-3_mct/tc/Traffic.tcl" FINISHTIME="1399039682" time="2014-05-02 16:02:39" name="B" url="TRAFFIC_MIXED_COLD_TP-A15.html" status="PASSED"/>
   <testcase SCRIPTFILENAME="/proj/cpptemp/dt/network_repo/398/int/IEXS_CRX901185_1/iov/cbm1-3_mct/tc/Traffic.tcl" FINISHTIME="1399039692" time="2014-05-02 16:02:40" name="C" url="TRAFFIC_MIXED_COLD_TP-A15.html" status="PASSED"/>
   <testcase SCRIPTFILENAME="/proj/cpptemp/dt/network_repo/398/int/IEXS_CRX901185_1/iov/cbm1-3_mct/tc/Traffic.tcl" FINISHTIME="1399039702" time="2014-05-02 16:02:41" name="D" url="TRAFFIC_MIXED_COLD_TP-A15.html" status="ABORTED"/>
   <testcase SCRIPTFILENAME="/proj/cpptemp/dt/network_repo/398/int/IEXS_CRX901185_1/iov/cbm1-3_mct/tc/Traffic.tcl" FINISHTIME="1399039712" time="2014-05-02 16:02:42" name="E" url="TRAFFIC_MIXED_COLD_TP-A15.html" status="PASSED"/>
</testsuite>
相关问题