您好我想将我的xml数据转换为HTML报告。我的示例xml看起来有点像下面。
<?xml version="1.0" encoding="UTF-8"?>
<TestCases>
<TestCase>
<TCiD>TC001</TCiD>
<Scenario>Verify the login functionality</Scenario>
<TSResult>Pass</TSResult>
<ScTime>50</ScTime>
<Steps>
<Step>Invoke application and enter a valid "Username"</Step>
<Method>enter_Text</Method>
<TestData>muralitharan_qac_mem</TestData>
<StepResult>Pass</StepResult>
<Time>08/05/15 14:34:27 </Time>
<Filepath>SanpFilePath</Filepath>
</Steps>
<Steps>
<Step>Enter the valid "Password"</Step>
<Method>enter_Password</Method>
<TestData>test!</TestData>
<StepResult>Pass</StepResult>
<Time>08/05/15 14:34:27 </Time>
<Filepath></Filepath>
</Steps>
<Steps>
<Step>Tap on the submit button</Step>
<Method>click_On_Button</Method>
<TestData></TestData>
<StepResult>Pass</StepResult>
<Time>08/05/15 14:34:27 </Time>
<Filepath></Filepath>
</Steps>
<Steps>
<Step>Tool wait time</Step>
<Method>ToolToWaitInMilliSeconds</Method>
<TestData>10000</TestData>
<StepResult>Pass</StepResult>
<Time>08/05/15 14:34:27 </Time>
<Filepath></Filepath>
</Steps>
</TestCase>
<TestCase>
<TCiD>TC002</TCiD>
<Scenario>Verify unsuccessful login for invalid Username</Scenario>
<TSResult>Pass</TSResult>
<ScTime>60</ScTime>
<Steps>
<Step>Invoke application and enter a invalid "Username"</Step>
<Method>enter_Text</Method>
<TestData>invalid_mem</TestData>
<StepResult>Pass</StepResult>
<Time>08/05/15 14:34:27 </Time>
<Filepath>SanpFilePath</Filepath>
</Steps>
<Steps>
<Step>Enter the valid "Password"</Step>
<Method>enter_Password</Method>
<TestData>test2!</TestData>
<StepResult>Pass</StepResult>
<Time>08/05/15 14:34:27 </Time>
<Filepath></Filepath>
</Steps>
<Steps>
<Step>Tap on the submit button</Step>
<Method>click_On_Button</Method>
<TestData></TestData>
<StepResult>Pass</StepResult>
<Time>08/05/15 14:34:27 </Time>
<Filepath></Filepath>
</Steps>
</TestCase>
</TestCases>
&#13;
现在我希望我的html报告如何:
TestCase Testcase Name Result Time
TC001 Verify the login functionality Pass 50
TC002 Verify unsuccessful login for Pass 60
invalid Username
&#13;
单击TC001时,测试用例的相关步骤将显示为一个表(类似于可以展开或折叠的树结构)。
任何人都可以帮助我实现这一目标。
我创建的xslt在表中显示了Testcases,但我无法为这些步骤创建树结构。 xslt如下。
<?xml version="1.0" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:s="http://www.stylusstudio.com/xquery">
<xsl:template match="/">
<html>
<head />
<body>
<div style="text-align: none;color: #0000FF;">
<table align="none" style="border-style: outset;border-width: 2pt;width: 100%;background-repeat: repeat" cellspacing="1pt">
<tbody>
<tr>
<td style="border-style: inset;border-width: 2pt;padding: 2pt;vertical-align: middle;background-repeat: repeat">
<div style="text-align: none;color: #0000FF;">
<span style="font-weight: bold;text-decoration: underline;">
<xsl:text>Test Case ID</xsl:text>
</span>
</div>
</td>
<td style="border-style: inset;border-width: 2pt;padding: 2pt;vertical-align: middle;background-repeat: repeat">
<div style="text-align: none;color: #0000FF;">
<span style="font-weight: bold;text-decoration: underline;">
<xsl:text>Test Case Name</xsl:text>
</span>
</div>
</td>
<td style="border-style: inset;border-width: 2pt;padding: 2pt;vertical-align: middle;background-repeat: repeat">
<div style="text-align: none;color: #0000FF;">
<span style="font-weight: bold;text-decoration: underline;">
<xsl:text>Result</xsl:text>
</span>
</div>
</td>
<td style="border-style: inset;border-width: 2pt;padding: 2pt;vertical-align: middle;background-repeat: repeat">
<div style="text-align: none;color: #0000FF;">
<span style="font-weight: bold;text-decoration: underline;">
<xsl:text>Execution Time (Seconds)</xsl:text>
</span>
</div>
</td>
</tr>
<xsl:for-each select="/TestCases/TestCase">
<xsl:variable name="TestCase" select="." />
<tr>
<td style="border-style: inset;border-width: 2pt;padding: 2pt;vertical-align: middle;background-repeat: repeat">
<div style="text-align: none;color: #0000FF;">
<xsl:value-of select="TCiD" />
</div>
</td>
<td style="border-style: inset;border-width: 2pt;padding: 2pt;vertical-align: middle;background-repeat: repeat">
<div style="text-align: none;color: #0000FF;">
<xsl:value-of select="Scenario" />
</div>
</td>
<td style="border-style: inset;border-width: 2pt;padding: 2pt;vertical-align: middle;background-repeat: repeat">
<div style="text-align: none;color: #0000FF;">
<xsl:value-of select="TSResult" />
</div>
</td>
<td style="border-style: inset;border-width: 2pt;padding: 2pt;vertical-align: middle;background-repeat: repeat">
<div style="text-align: none;color: #0000FF;">
<xsl:value-of select="ScTime" />
</div>
</td>
</tr>
</xsl:for-each>
</tbody>
</table>
</div>
</body>
</html>
</xsl:template>
</xsl:stylesheet>