Chapter4: Testlink插件对Junit格式文件的解析策略

本系列文章见总链接:

总章:TestStand+Jenkins+Testlink 自动化测试平台搭建

 

关于Jenkins JUnit seeking strategy

要了解Jenkins里的Testlink插件如何解析Junit文件内容,可以参考Jenkins 网页wiki的内容:https://wiki.jenkins.io/display/JENKINS/Strategies+for+finding+Test+Results

首先需要先对Junit XML文件解析策略有所了解

Strategy name
howto
JUnit case class name:
The plug-in matches the JUnit case class name (e.g.: org.tap4j.TestParser) and the key custom field value.
 
将Junit XML文件中testcase标签的classname的值与Testlink中定义的Custom field的值进行比较。
JUnit case name
The plug-in matches the JUnit case name (e.g.: testTokenizer) and the key custom field value.

将Junit XML文件中testcase标签的name的值与Testlink中定义的Custom field的值进行比较。
JUnit method name
The plug-in matches the JUnit method name  (e.g.: org.tap4j.TestParser#testTokenizer) and the key custom field value.

将Junit XML文件中testcase标签的classname与name组合起来的值calassname#name与Testlink中定义的Custom field的值进行比较。
JUnit suite name
The plug-in matches the JUnit suite name (e.g.:functional tests) and the key custom field value.

将Junit XML文件中testsuite标签的name的值与Testlink中定义的Custom field的值进行比较。

一个简单的示例

<?xml version="1.0" encoding="UTF-8"?>
<testsuite name="Testcase" tests="1" errors="0" failures="0" skipped="0" time="5.580">
    <testcase classname="TestWithTestlink.1Main" name="login test" time="5.124">    
    </testcase>
</testsuite>

针对Testlink中testcase的配置情况,和生成的Junit XML格式的结果文件,要让Jenkins中的Testlink插件对结果文件正确解析,需要在Jenkins Job的设置中,对Result seeking strategy选择Junit Class name.

 

 

 

 

其他示例:

JUnit Suite Name

如果Junit XML文件中Testsuite的name是"Testcase"

----
<?xml version="1.0" encoding="UTF-8"?>
<testsuite name="Testcase" tests="1" errors="0" failures="0" skipped="0" time="5.580">
    <testcase classname="Testcase.login" name="login test" time="5.124">
    </testcase>
----

则在Testlink中对应的testcase的custom field的值也要是“Testcase” .
----
robot: Testcase
----------------------------------------------------

JUnit Case Class Name (JUnit Class Name)

如果Junit XML文件中testcase的classname是"Testcase.login"

----
<?xml version="1.0" encoding="UTF-8"?>
<testsuite name="Testcase" tests="1" errors="0" failures="0" skipped="0" time="5.580">
    <testcase classname="Testcase.login" name="login test" time="5.124">
    </testcase>
----

则在Testlink中对应的testcase的custom field的值也要是“Testcase.login”.
----
robot: Testcase.login
----------------------------------------------------

JUnit Method Name

如果Junit XML文件中testcase的classname和name的组合值是"Testcase.login#login test"

----
<?xml version="1.0" encoding="UTF-8"?>
<testsuite name="Testcase" tests="1" errors="0" failures="0" skipped="0" time="5.580">
    <testcase classname="Testcase.login" name="login test" time="5.124">
    </testcase>
----

则在Testlink中对应的testcase的custom field的值也要是 "Testcase.login#login test".
----
robot: Testcase.login#login test
----------------------------------------------------

JUnit Case Name


如果Junit XML文件中testcase的name是"login test"

----
<?xml version="1.0" encoding="UTF-8"?>
<testsuite name="Testcase" tests="1" errors="0" failures="0" skipped="0" time="5.580">
    <testcase classname="Testcase.login" name="login test" time="5.124">
    </testcase>
----

则在Testlink中对应的testcase的custom field的值也要是"login test".
----
robot: login test

posted on 2020-08-30 15:39  swee632  阅读(246)  评论(0编辑  收藏  举报

导航