2013-11-26 5 views
1

Я работаю над созданием отчета для набора тестовых примеров, написанных на Python, с использованием Selenium WebDriver. Я пинаю тестовые сценарии с помощью основного сценария, и я хочу записать результаты в .txt-файл, который в конечном итоге будет отправлен по электронной почте.Запись результатов теста Selenium Python в файл

Когда тест успешно работает, я получаю что-то вроде этого в терминале:

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

OK 

Это ^^^ то, что я хочу, чтобы записать в файл. Я пробовал

python test.py > file 

не имеет смысла. Я также пробовал

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

который не сработал. Я просто хочу записать в файл, что тест прошел или не прошел, но он просто не будет печатать эту часть. Я знаю, что это что-то внутреннее с кодом Селена, но я не могу понять, где и что это такое. Любая другая печать в тесте будет записываться в файл, но не результат.

Спасибо за любой совет !!

ответ

2

Результаты испытаний результатов выводятся на stderr. Попробуйте

python test.py 2> file 
+0

Спасибо! Это сработало. Теперь все, что мне нужно сделать, это напечатать имя теста. Если я вложу обычный сценарий «print» в скрипт, он появится только в терминале, а не в файле. Есть идеи? – user3038369

+0

@ user3038369 Ты добрый! Если вы нашли ответ, который вам нужен, вы можете рассмотреть [принять его] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work). Для вашего вопроса о печати вы можете поймать как stdout, так и stderr за один раз с '> file 2> & 1' или распечатать в stderr с помощью' import sys; print >> sys.stderr, 'some text'' – alko

+0

Awesome. Ответ принят! Вы не представляете, как долго я пытаюсь это понять! – user3038369

Смежные вопросы