2013-11-26 23 views
1

我正在爲使用Selenium WebDriver以Python編寫的測試用例套件生成報告。我正在用主腳本踢掉測試用例,我想將結果寫入一個.txt文件,最終將通過電子郵件發送出去。將Python的硒測試結果寫入文件

當測試運行成功,我得到這樣的終端:

---------------------------------------------------------------------- 
Ran 1 test in 15.566s 

OK 

這^^^是我想寫一個文件的內容。我試過

python test.py > file 

無濟於事。我也試過

sys.stdout = open('Results.txt', 'w') 

哪一個沒有工作。我只想寫入測試通過或失敗的文件,但它不會打印該部分。我知道這是Selenium代碼內部的東西,但我無法弄清楚它在哪裏/是什麼。測試中的任何其他打印都將寫入該文件,但不是結果。

感謝您的任何建議!

回答

2

測試結果輸出寫入stderr。嘗試

python test.py 2> file 
+0

謝謝!這工作。現在我所要做的就是打印測試的名稱。如果我在腳本中輸入正常的「打印」語句,它只會顯示在終端中,而不是文件中。有任何想法嗎? – user3038369

+0

@ user3038369你好!如果你找到滿足你需求的答案,你可以考慮[接受它](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)。對於你關於print的問題,你可以用'> file 2>&1'一次性捕獲stdout和stderr,或者使用'import sys打印到stderr;打印>> sys.stderr,'some text'' – alko

+0

太棒了。接受答案!你不知道我一直試圖弄清這些事情多久了! – user3038369