使用pycharm编辑自动化脚本,执行后没有html报告生成的几种解决办法

来源:互联网 发布:beanpole 知乎 编辑:程序博客网 时间:2024/06/08 14:55

最近在搞自动化测试,选择了web端最流行的python+selenium,测试执行选用unittest框架,报告使用HTMLReportRunner

在代码执行的过程中,发现代码执行正常,但是没有报告产生,截图如下

代码执行正常:



执行后可以看到用例执行结果,但是无html报告文件生成,截图如下:


在网上查阅资料后发现,pycharm自带了unittest框架,执行脚本会调用自带的unittest框架,不会执行

if __name__ =="__main__": 之后的代码,可以在pycharm界面的右上角进行更改
将python tests中自带的unittest框架去掉,然后重新执行
重新执行后发现可以执行
if __name__ =="__main__":之后的代码 ,可以正常生成html报告

第二种情况,在导入HTMLtestRunner后,执行脚本发现报错,报错详情为编码问题,但是并不影响脚本的执行,这是因为python安装在windows中,其默认编码为ascii码,但是HTMLTestRunner中文件流的写入为utf-8编码,导致脚本执行完后并没有报告生成,此时可以通过重载系统编码的方式解决:

在执行脚本的前面加上以下三行

import sys

reload(sys)

sys.setdefaultencoding("utf-8")