我有以下示例XML文件,我只需要根据XML中的“状态”值更改testng-results标记值,例如已通过,失败,已跳过
示例输入
:<?xml version="1.0" encoding="UTF-8"?>
<testng-results skipped="0" failed="0" total="10" passed="10">
<test-method status="FAIL" is-config="true" duration-ms="4"
started-at="2018-08-16T21:43:38Z" finished-at="2018-08-16T21:43:38Z">
<params>
<param index="0">
<value> <![CDATA[org.testng.TestRunner@31c2affc]]>
</value>
</param>
</params>
<reporter-output>
</reporter-output>
</test-method> <!-- setParameter -->
<test-method status="PASS" is-config="true" duration-ms="4"
started-at="2018-08-16T21:43:38Z" finished-at="2018-08-16T21:43:38Z">
<params>
<param index="0">
<value> <![CDATA[org.testng.TestRunner@31c2affc]]>
</value>
</param>
</params>
<reporter-output>
</reporter-output>
</test-method> <!-- setParameter -->
<test-method status="SKIPPED" is-config="true" duration-ms="4"
started-at="2018-08-16T21:43:38Z" finished-at="2018-08-16T21:43:38Z">
<params>
<param index="0">
<value> <![CDATA[org.testng.TestRunner@31c2affc]]>
</value>
</param>
</params>
<reporter-output>
</reporter-output>
</test-method> <!-- setParameter -->
</testng-results>
对于上述示例,我们具有一个PASS,FAIL和SKIPPED状态()。首先,我们需要在输入的XML文件中获得PASS,FAIL,SKIPPED的计数 并相应地更改testng-results标签中的值。上面的有效负载标签值的输出应更新如下:
<testng-results skipped="1" failed="1" total="3" passed="1">
“总计”是所有人的状态。
是否可以通过使用XSLT来实现?
答案 0 :(得分:0)
您可以简单地使用:
<testng-results skipped="{count(//test-method/@status='SKIPPED')}" failed="{count(//test-method/@status='FAIL')}" total="{count(//test-method)}" passed="{count(//test-method/@status='PASS')}">