2017-07-27 51 views
0

作为testng自动化测试套件的一部分,我想自动将jenkins的结果推送到testrail。目前,我有这个插件安装在我的詹金斯服务器上:https://github.com/jenkinsci/testrail-pluginTestng监听器遵守Apache Ant JUnit XML Schema

自述国输出必须符合JUnit的模式:https://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd

我有参考How do I get one junit report from TestNG for all my test cases?,并添加

<listeners> 
    <listener class-name="org.testng.reporters.JUnitXMLReporter"></listener> 
</listeners> 

我的听众;然而,这似乎并没有以正确的格式创建文件,因为这会导致jenkins失败并显示以下消息:

将结果上载到TestRail。 将结果推送到TestRail时出错 发布到index.php?/ api/v2/add_results_for_cases/236返回错误!从TestRail的回应是: {“错误”:“字段:结果不能是空的(需要一个结果)”} 生成步骤“TestRail插件”标记建立成品失败 :未能

我如果知道有是我应该使用的不同的监听器。

谢谢你的帮助。

+0

我不认为现在有任何东西存在。但我想我可以建立一些适合你的东西。直到这个周末,一直呆在那里。本周末我应该能够得到一些东西。 –

+0

@KrishnanMahadevan,将不胜感激! – swilliz

+0

您好@KrishnanMahadevan我无法获得xml配置文件的输出格式如下:' <包名称= “com.end2end。*”> <测试名称= “服务” 保留阶= “真”> <包名称=“com.services。* “> ' – swilliz

回答

1

我使用了在问题中共享的xsd文件来创建符合xsd的TestNG记者。

要消耗记者,请添加一个依赖如下

<dependency> 
    <groupId>com.rationaleemotions</groupId> 
    <artifactId>junitreport</artifactId> 
    <version>1.0.0</version> 
</dependency> 

记者利用本身的服务加载器的方法来电线。所以它不需要通过<listeners>标签(或)@Listeners注释明确添加。

详情可以发现here

+0

真棒克里希南!也许它应该添加到TestNG项目中?或者我们是否应该修复当前的junit记者? – juherr

+0

@juherr - 我对他们俩都很好。请让我知道应该做什么。我会相应地提出公关。 –

+0

您可以先提议您的新听众。将看看塞德里克会说些什么。 – juherr