2013-11-26 69 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