2014-10-17 51 views
2

我面臨着系統掛起機器人測試用例的執行問題。機器人框架中的處理系統掛起

*** Settings *** 
Library  SSHLibrary 


*** Test Cases *** 

Process Crash Dump 
    Wait Until Keyword Succeeds 50sec 10sec Execute Command echo c > /proc/sysrq-trigger 
    Should Be Equal 1  1 

這裏同時「執行命令回聲C>的/ proc/sysrq的觸發」測試用例被被卡住起來不繼續furthur。在發出命令後有沒有什麼機制出來,以後我會檢查系統啓動。

回答

0

您可以使用測試用例中的[Timeout]設置或套件設置中的Test Timeout在測試用例上設置超時。請參閱機器人框架用戶指南中的Test case time。從文檔:

如果有超時,關鍵字運行停止在 超時到期並且測試用例失敗。但是,如果發生測試超時 ,因爲它們通常從事重要的清理活動 ,所以作爲測試拆卸執行的關鍵字 不會中斷。如有必要,可以用用戶關鍵字超時中斷這些關鍵字 。

+0

該文檔已過時。當RF是多線程的時候,這是真的,但它已經很長一段時間是單線程的。關鍵字不能停止。在1秒超時的測試中執行此操作:評估time.sleep(10)時間。你會發現它需要超過10秒纔會失敗。 – ombre42 2014-10-17 15:02:05

+0

@ ombre42:你確定嗎?我只是測試了你的場景,用5秒的超時時間睡了30秒,評估關鍵字在5秒後超時。這是在OSX上;我沒有嘗試過在Windows上。看看代碼,我看到它使用線程計時器來管理超時。 – 2014-10-17 15:38:37

+0

感謝您給予回覆。我使用了啓動命令echo c>/proc/sysrq-trigger,它對我有用 – 2014-10-18 06:34:27

1

的問題得到解決,通過使用

Start Command echo c > /proc/sysrq-trigger 

哪些問題命令並退出。然後我正在做我的東西來檢查系統是否有效。