我有 2 个 xml 文件。ProjectLog.xml 具有以下 xml
<?xml version="1.0" encoding="UTF-8"?>
<ProjectLog>
<ProjectLogItem id="0" pid="-1" nety="False">
<No>1</No>
<Name><![CDATA[CanEnterInvoice]]></Name>
<StartTime>12/03/2012 11:55:59</StartTime>
<EndTime>12/03/2012 11:58:26</EndTime>
<RunTime>0:02:26</RunTime>
<Details><a href="#" onclick="top.logtree_openNode('{85E6CF42-8907-4565-B7C5-487AA089CE5C}')">Details</a></Details>
<Messages/>
</ProjectLogItem>
</ProjectLog>
和 root.xml
<?xml version="1.0" encoding="UTF-8"?>
<LogData name="DetailedTest" id="{719C8118-F2D1-4775-A46B-B9465ACBA1EC}" status="0">
<Provider name="Project Log" schemaType="aqds:tree" href="ProjectLog.xml"/>
<Provider name="Test Run Summary" schemaType="aqds:text" href="TestRunSummary.xml"/>
<LogData name="CanEnterInvoice" id="{85E6CF42-8907-4565-B7C5-487AA089CE5C}" status="0">
<Provider name="Project Log" schemaType="aqds:tree" href="CanEnterInvoice\ProjectLog.xml"/>
<LogData name="Script Test Log [EnteringInvoice\EnteringInvoice]" id="{6B048A3D-0C3D-4FAC-9BA8-4703759F868D}" status="0">
<Provider name="Test Log" schemaType="aqds:tree" href="CanEnterInvoice\ScriptTestLogEnteringInvoiceEnteringInvoice\TestLog.xml"/>
</LogData>
</LogData>
</LogData>
这两个文件是在运行测试后由 Testcomplete 生成的,我正在将 testcomplete 与 teamcity 集成。我正在使用 teamcity MSBuild 运行测试,然后在生成这些日志文件后,我将使用 XSLT 处理 ProjectLog.xml 并生成一个文本文件,teamcity 可以读取并显示测试结果。但是当从 ProjectLog.xml 文件中读取结果时,无法确定测试是否通过/失败。所以我需要使用root.xml文件来查找测试结果。“root.xml”文件中以下 xml 中的状态属性
<LogData name="CanEnterInvoice" id="{85E6CF42-8907-4565-B7C5-487AA089CE5C}" status="0">
告诉测试是否通过。现在我有以下 XSLT 从 ProjectLog.xml 获取测试名称和持续时间
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="text"
encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<xsl:for-each select="ProjectLog/ProjectLogItem">
##teamcity[testStarted name='<xsl:value-of select="Name"/>']
##teamcity[testFinished name='<xsl:value-of select="Name"/>' duration='<xsl:value-of select="RunTime"/>']
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
但我不确定如何更新它以从“root.xml”中获取每个测试的“状态”。
有人可以帮忙吗?
谢谢。