我的新问题是标签中的if语句,我遇到了这个新问题:媒体是否会调用嵌套" if"元件。
rapport.xml:
<testsuites name="COMPTES" tests="6" time="7" timestamp="2014-07-01T17-20-07" failures="6" errors="0">
<testsuite name="100" tests="6" failures="6" errors="0" time="7">
<testcase classname="Script.COMPTES.100" name="TEST1" time="1">
<failure message="Not exist file or counter or used" type="fichiersInexistants">
File No matches
</failure>
</testcase>
<testcase classname="Script.COMPTES.100" name="TEST2" time="2">
<failure message="Not exist file or counter or used" type="fichiersUtilises">
Data set in use
</failure>
</testcase>
<testcase classname="Script.COMPTES.100" name="TEST3" time="3">
<failure message="Not exist file or counter or used" type="fichiersInexistants">
File No matches
</failure>
</testcase>
<testcase classname="Script.COMPTES.100" name="TEST4" time="3">
<failure message="File abended" type="abended">
File abended
</failure>
</testcase>
</testsuite>
</testsuites>
代码来源:
<xmltask source="rapport.xml">
<call path="//testsuites">
<param name="comptes" path="@name"/>
<param name="testsuite1" path="testsuite[1]/@name"/>
<param name="compteur1" path="testsuite[1]/testcase/text()"/>
<param name="compteurFailure1" path="testsuite[1]/testcase/failure/text()"/>
<if>
<or>
<equals arg1="@{comptes}" arg2="COMPTES"/>
<equals arg1="@{comptes}" arg2="EXE"/>
<equals arg1="@{comptes}" arg2="RESTORE"/>
</or>
<then>
<param name="testsuite2" path="testsuite[2]/@name"/>
<param name="compteur2" path="testsuite[2]/testcase/text()"/>
<param name="compteurFailure2" path="testsuite[2]/testcase/failure/text()"/>
</then>
</if>
<actions>
<if>
<or>
<equals arg1="@{comptes}" arg2="COMPTES"/>
<equals arg1="@{comptes}" arg2="EXE"/>
<equals arg1="@{comptes}" arg2="RESTORE"/>
</or>
<then>
<echo message="compteur"/>
<echo> @{compteur1} </echo>
<echo> @{compteurFailure1} </echo>
<echo> @{compteur2} </echo>
<echo> @{compteurFailure2} </echo>
</then>
<else>
<echo message="compteur"/>
<echo> @{compteur1} </echo>
<echo> @{compteurFailure1} </echo>
</else>
</if>
</actions>
</call>
</xmltask>
我不明白为什么在&#34; @ {comptes}&#34;&#34; @ {comptes}&#34; =&#34; COMPTES&#34; ?
答案 0 :(得分:0)
<xmltask source="rapport.xml">
<call path="//testsuites">
<param name="comptes" path="@name"/>
<param name="testsuite1" path="testsuite[1]/@name"/>
<param name="compteur1" path="testsuite[1]/testcase/text()"/>
<param name="compteurFailure1" path="testsuite[1]/testcase/failure/text()"/>
<actions>
<var name="comptes" value="@{comptes}"/>
</actions>
</call>
</xmltask>
<if>
<or>
<equals arg1="${comptes}" arg2="COMPTES"/>
<equals arg1="${comptes}" arg2="EXE"/>
<equals arg1="${comptes}" arg2="RESTORE"/>
</or>
<then>
<xmltask source="rapport.xml">
<call path="//testsuites">
<param name="testsuite1" path="testsuite[1]/@name"/>
<param name="compteur1" path="testsuite[1]/testcase/text()"/>
<param name="compteurFailure1" path="testsuite[1]/testcase/failure/text()"/>
<param name="testsuite2" path="testsuite[2]/@name"/>
<param name="compteur2" path="testsuite[2]/testcase/text()"/>
<param name="compteurFailure2" path="testsuite[2]/testcase/failure/text()"/>
<actions>
<if>
<or>
<not><equals arg1="@{testsuite1}" arg2="" /></not>
<not><equals arg1="@{testsuite2}" arg2="" /></not>
</or>
<then>
<echo message="@{compteur1}"/>
<echo message="@{compteurFailure1}"/>
<echo message="@{compteur2}"/>
<echo message="@{compteurFailure2}"/>
</then>
</if>
</actions>
</call>
</xmltask>
</then>
<else>
<xmltask source="rapport.xml">
<call path="//testsuites">
<param name="testsuite1" path="testsuite[1]/@name"/>
<param name="compteur1" path="testsuite[1]/testcase/text()"/>
<param name="compteurFailure1" path="testsuite[1]/testcase/failure/text()"/>
<actions>
<if>
<not><equals arg1="@{testsuite1}" arg2="" /></not>
<then>
<echo message="@{compteur1}"/>
<echo message="@{compteurFailure1}"/>
</then>
</if>
</actions>
</call>
</xmltask>
</else>
</if>