2017-08-25 99 views
1

我有我跑在機器人框架測試一個Python腳本。該測試被配置來記錄stdoutstderr這很好,只要可以作爲檢驗合格,但我沒有得到任何日誌時,即使輸出在失敗之前打印的測試失敗。機器人框架內log.html無輸出,當測試失敗

有沒有什麼辦法讓stdout即使試驗失敗。

我的機器人文件:

*** Settings *** 
Library Process 


*** Test Cases *** 
First test 
    ${result} =  Run Process  python createCommunityTest/createCommunityTest.py 
    Should Be Equal As Integers  ${result.rc} 0  
    Log  ${result.stderr} 
    Log  ${result.stdout} 

測試腳本片段

 if res.status == 201: 
      sys.exit(0) 
     else: 
      print("ERRRROR") 
      sys.exit(1) 
+0

認爲這可能是由於射頻只是停止測試失敗。所以它永遠不會達到2個日誌命令......通過將日誌放在失敗的部分之前進行測試。 – Goralight

+0

我這樣做,我寫的也是這個問題.... – Jacob

+0

顯示在那裏你「這樣做」。我們需要了解在測試用例失敗之前如何記錄結果。正如所寫的,如果'Run process'關鍵字或'應該等於整數'失敗,日誌語句將永遠不會運行。 –

回答

3

的問題是,您所呼叫Log後的測試失敗。當您檢查返回碼和返回碼不爲零,測試立即停止正在運行的任何其他聲明。

你可以簡單地通過調用檢查返回代碼之前Log關鍵字解決這個問題。

Log  ${result.stderr} 
Log  ${result.stdout} 
Should Be Equal As Integers  ${result.rc} 0 
+0

很明顯但看不到它。謝謝 – Jacob