我有一個使用grunt任務運行多個spec文件的自動化框架。一些使用預定義的套件運行,另一些使用文件命名約定。每個spec文件平均有一個「describe」塊,每個塊通常有多個「it」塊。在多個spec文件中彙總量角器結果
我目前使用茉莉花SPEC-記者這給每個規範文件,它看起來像後有用和詳細的結果:
------------------------------------
[chrome OS X 10.10 #1-78] PID: 1880
[chrome OS X 10.10 #1-78] Specs: /**/**/jenkins/workspace/Main Suites/tests/User_Management/smoke_student_does_something.js
[chrome OS X 10.10 #1-78]
[chrome OS X 10.10 #1-78] Using SauceLabs selenium server at http://*******
[chrome OS X 10.10 #1-78] Spec started
[chrome OS X 10.10 #1-78]
[chrome OS X 10.10 #1-78] 1 A student can link and unlink to another student account
[chrome OS X 10.10 #1-78] ✓ can link to another student account (33 secs)
[chrome OS X 10.10 #1-78] ✓ can unlink a student account (14 secs)
[chrome OS X 10.10 #1-78]
[chrome OS X 10.10 #1-78] Executed 2 of 2 specs SUCCESS in 46 secs.
[chrome OS X 10.10 #1-78] SauceLabs results available at http://saucelabs.com/jobs/*****************
[launcher] 5 instance(s) of WebDriver still running
量角器給了我一個相當無用的總結控制檯輸出後,所有的jasmine報告引用taskId並列出了pass +失敗。這是量角器總結的樣子:
....
[launcher] chrome #1-69 passed
[launcher] chrome #1-70 failed 1 test(s)
[launcher] chrome #1-73 passed
[launcher] chrome #1-71 passed
[launcher] chrome #1-75 passed
[launcher] chrome #1-72 passed
[launcher] chrome #1-79 passed
[launcher] chrome #1-74 passed
[launcher] chrome #1-80 passed
[launcher] chrome #1-81 passed
[launcher] chrome #1-82 passed
[launcher] chrome #1-84 passed
[launcher] chrome #1-83 passed
[launcher] chrome #1-85 passed
[launcher] chrome #1-88 passed
[launcher] chrome #1-87 passed
[launcher] chrome #1-86 passed
[launcher] chrome #1-76 passed
[launcher] chrome #1-89 passed
[launcher] chrome #1-90 passed
[launcher] chrome #1-91 passed
[launcher] chrome #1-92 passed
[launcher] chrome #1-78 passed
[launcher] chrome #1-93 passed
[launcher] chrome #1-95 passed
[launcher] chrome #1-77 passed
[launcher] chrome #1-96 passed
[launcher] chrome #1-94 failed 5 test(s)
[launcher] overall: 12 failed spec(s)
[launcher] Process exited with error code 1
>>
Warning: Tests failed, protractor exited with code: 1 Use --force to continue.
我的問題是我想看到的所有規格文件,沒有TaskID的摘要,只有失敗的規格,而且他們全部完成運行後,才。 MVP將只是列表中失敗的規格文件名或者以易於閱讀的格式(xml,html等)寫入文件中。下一次迭代時,我會在類似茉莉花記者的每次失敗旁邊提供「描述」和「它」的塊描述,錯誤代碼和saucelabs鏈接。
我通常在單個作業中有數百個規格文件,並且不得不梳理所有單個結果來追蹤哪些規格文件失敗是非常煩人的(因爲我覺得自動生成的總結應該有這些信息)。我真的不得不在控制檯輸出上做一個ctrl + f來查找「失敗」,只是看看哪些規格失敗了。因爲我們的工作是如何通過Jenkins組織的,所以我想避免爲失敗者列表選擇saucelabs。一旦作業完成後,控制檯輸出應該是一個簡單的第一個源/參考。
每個第三方記者的範圍似乎只能達到spec文件級別。在每個spec文件執行後,它會報告,然後進入下一個覆蓋前一個報告的文件。我打開HTML或XML報告,它總是隻有一個spec文件的結果。我似乎無法將任何信息帶入多個spec文件的摘要中。我調整了「合併(全部)」設置,而且似乎沒有爲所有規格文件構建報告。他們似乎一次只考慮一個文件。
我有以下記者試驗:
茉莉花記者
茉莉-SPEC-記者
量角器,jasmine2-HTML-記者
茉莉花JSON - 測試 - 記者
我已經能夠直接操縱量角器「reportSummary」代碼給我最想要的東西(除了醬菜鏈接),但這並不理想,因爲我不得不說服他們採用它。這是我的總結看起來像:
********************
* FAILED SPEC(S) *
********************
/Playground/Test_Spec_2.js failed 2 test(s)
can log in once
FAILURE: Expected false to be true, 'Didn't see home page'.
FAILURE: Expected false to be true, 'Didn't see link'.
can log in twice
PASSED
can log in thrice
FAILURE: Expected false to be true, 'Didn't see home page'.
/Playground/Test_Spec_3.js failed 1 test(s)
can login
FAILURE: Expected false to be true, 'Didn't see home page'.
********************
* SUMMARY *
********************
overall: 2/4 failed spec(s)
********************
我錯過了什麼使用這些茉莉花記者?我的框架是不是按照我想要的方式與這些記者合作?我是否應該說服量角器傢伙加強他們的總結記者的選擇?
我認爲你最好的選擇可能是對其中一位記者提出要求的格式選項的拉取請求。我懷疑你會說服@Jmr爲你做出這種改變。 – MBielski