2017-07-27 50 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