2013-08-20 100 views
2

我phantomjs和我詹金斯服務器上的工作casperjs接受的xUnit XML日誌。 該測試已執行且成功。但這裏的東西:詹金斯不是從casperjs

Casperjs記錄其結果在log.xml文件。我想我可以在我的jenkins webUI上顯示該xml文件的內容。我發現詹金斯是xUnit的插件,但預期它不工作:

[37; 42; 12次1mPASS在22.324s執行12通過測試,0失敗,0 半信半疑,0跳過。 [0米

正如你可以看到測試是全成

[32; 1mResult日誌存儲在../../build/frontendtests/log.xml
[0米出版三葉草覆蓋報告...出版四葉草XML 報告...出版三葉草覆蓋效果...記錄測試結果 [的xUnit] [INFO] - 在開始錄製。 [的xUnit] [信息] - 處理 AUnit-3.X(默認)[的xUnit] [信息] - [AUnit-3.X(默認)] - 1個測試 報告文件(一個或多個)被發現與圖案 '爲測試框架 'AUnit-3.x(默認)'建立/ frontendtests/log.xml'相對於 '。 [xUnit] [錯誤] - 結果文件 '對於 度量標準'AUnit'無效。結果文件已被跳過。 [xUnit] [INFO] - 失敗BUILD,因爲'set build failed if error'選項被激活。

Jenkins構建失敗,因爲我的log.xml不支持AUnit。我也試過JUnit和JSUnit。同樣的結果。但我不明白。 casperjs輸出xunit xml文件,我安裝了xunit插件。但該插件不讀取我的log.xml。

你有什麼解決辦法嗎?也許我的詹金斯設置是錯誤的?有任何想法嗎?

謝謝...

這裏是我的log.xml

<?xml version="1.0" encoding="UTF-8"?> <testsuites duration="3.859"> 
    <testsuite name="Checking the portal search for http://www.xxx.de/suche/jeans" tests="1" failures="0" errors="0" time="2.687" timestamp="2013-08-20T14:12:55.953Z" package="./execute_search_tests"> 
     <testcase name="Subject equals the expected value" classname="./execute_search_tests" time="2.687"></testcase> 
     <system-out></system-out> 
    </testsuite> 
    <testsuite name="Checking the portal search for http://www.xxx.de/suche/asjdfkshjkfhdsjkafhkjasd" tests="1" failures="0" errors="0" time="1.172" timestamp="2013-08-20T14:12:55.954Z" package="./execute_search_tests"> 
     <testcase name="Subject equals the expected value" classname="./execute_search_tests" time="1.172"></testcase> 
     <system-out></system-out> 
    </testsuite> </testsuites> 

回答

2

注意:您已配置了AUnit選擇您的xUnit後生成作用。這是用於Ada單元測試。

但我還測試了的xUnit與JUnit的選項一起插件,它仍然失敗。我甚至enabled more logs,但這並沒有幫助。

Aug 21, 2013 12:00:05 AM com.thalesgroup.hudson.plugins.xunit.service.XUnitService errorSystemLogger 
SEVERE: [xUnit] - The result file '/Users/lacostej/.jenkins/workspace/test-casperjs-xunit/log.xml' for the metric 'JUnit' is not valid. The result file has been skipped. 
Aug 21, 2013 12:00:05 AM com.thalesgroup.hudson.plugins.xunit.service.XUnitService warningSystemLogger 
WARNING: [xUnit] - The file '/Users/lacostej/.jenkins/workspace/test-casperjs-xunit/log.xml' is an invalid file. 
Aug 21, 2013 12:00:05 AM com.thalesgroup.hudson.plugins.xunit.service.XUnitService infoSystemLogger 
INFO: [xUnit] - [JUnit] - 1 test report file(s) were found with the pattern 'log.xml' relative to '/Users/lacostej/.jenkins/workspace/test-casperjs-xunit' for the testing framework 'JUnit'. 

但是當我使用「JUnit測試結果報告」插件進行了一些測試並且解析進行的很好。

更新

當你發現了,問題是with the casperjs file using attribute duration instead of time for testsuites nodes。 Xunit比標準關於它更嚴格。

我的建議:

  1. 使用標準的JUnit解析,它的工作原理
  2. ,如果你真的想使用的xUnit,你必須把它固定,然後報告了xUnit的解析錯誤。這裏是我使用的測試用例配置:https://gist.github.com/lacostej/6287937
  3. 或者可能嘗試將自定義樣式與XSL一起使用。您仍然需要調試並知道XML爲什麼不被接受。

我會選擇選項#1或#2。

+0

謝謝,我選了#1。這很容易建立。這裏有一個關於同一問題的另一個可能解決方案的鏈接:https://groups.google.com/forum/?hl=de#!topic/casperjs/n1tbi0K9Tnk(我沒有嘗試,但聽起來很合理,但它可能有點骯髒的解決方案 –

+0

你是對的。 – coffeebreaks