Я работаю над созданием отчета для набора тестовых примеров, написанных на Python, с использованием Selenium WebDriver. Я пинаю тестовые сценарии с помощью основного сценария, и я хочу записать результаты в .txt-файл, который в конечном итоге будет отправлен по электронной почте.Запись результатов теста Selenium Python в файл
Когда тест успешно работает, я получаю что-то вроде этого в терминале:
----------------------------------------------------------------------
Ran 1 test in 15.566s
OK
Это ^^^ то, что я хочу, чтобы записать в файл. Я пробовал
python test.py > file
не имеет смысла. Я также пробовал
sys.stdout = open('Results.txt', 'w')
который не сработал. Я просто хочу записать в файл, что тест прошел или не прошел, но он просто не будет печатать эту часть. Я знаю, что это что-то внутреннее с кодом Селена, но я не могу понять, где и что это такое. Любая другая печать в тесте будет записываться в файл, но не результат.
Спасибо за любой совет !!
Спасибо! Это сработало. Теперь все, что мне нужно сделать, это напечатать имя теста. Если я вложу обычный сценарий «print» в скрипт, он появится только в терминале, а не в файле. Есть идеи? – user3038369
@ 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
Awesome. Ответ принят! Вы не представляете, как долго я пытаюсь это понять! – user3038369