2つのxmlファイルがあります。次のxmlを持つProjectLog.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>
これらの2つのファイルは、テストの実行後に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">
テストに合格したかどうかを示します。現在、ProjectLog.xmlからテスト名と期間を取得するための次のXSLTがあります
<?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」から「status」を取得するように更新する方法がわかりません。
誰か助けてもらえますか?
ありがとう。