写好脚本后,需要生成一个测试报告
目录
1、安装HTMLTestRunner
1、安装HTMLTestRunner
第一步:下载后,放入lib中,下载链接:https://pan.baidu.com/s/1_e6mIgPFzu24k1Q3wbOJ9w 密码:e6nw

第二步:导入试试,没报错就没问题

2、应用
在run_all.py文件中,
第一步:我们可以调用discover方法,来找到所有的用例

如图:discover方法,需要传入3个参数,第一个参数start_dir,查找测试用例路径;第二个参数pattern,匹配规则;第三个参数top_level_dir,测试模块的顶层目录,如果没有顶层目录,默认为None
#找到所有用例
#用例路径 case_path="D:\test001\labledemo" def all_case(): discover=unittest.defaultTestLoader.discover(case_path, "test*.py") return discover
第二步:调用HTMLTestRunner中的方法,来生成报告
调用HTMLTestRunner方法,给定参数的值,第一个参数stream,查找测试报告路径;第二个参数title,html文件的title;第三个参数description,用例的执行情况标题
#将生成的报告写入文件
fp=open(report_path,"wb") #写测试报告
runner= HTMLTestRunner.HTMLTestRunner(stream=fp,
title=u'这是我的报告',
description=u'用例执行情况')
runner.run(all_case()) #调用run方法,执行
fp.close() #关闭,以免影响内存
完整代码如下:
import HTMLTestRunner
import unittest
#用例路径
case_path="D:\test001\labledemo"
#报告存放路径
report_path="D:\test001\report\result.html"
def all_case():
discover=unittest.defaultTestLoader.discover(case_path,
"test*.py")
return discover
if __name__=="__main__":
fp=open(report_path,"wb") #写测试报告
runner= HTMLTestRunner.HTMLTestRunner(stream=fp,
title=u'这是我的报告',
description=u'用例执行情况')
runner.run(all_case()) #调用run方法,执行
fp.close() #关闭,以免影响内存
第四步:优化
调用os和sys的一些方法,让代码自己找用例,和生成报告的位置
import os
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
# 用例路径
case_path = os.path.join(os.getcwd(), "case")
# 报告存放路径
report_path = os.path.join(os.getcwd(), "report")
完整代码:
import HTMLTestRunner
import unittest
import os
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
#用例路径
# case_path="D:\test001\labledemo"
case_path=os.path.join(os.getcwd(),"case")
#报告存放路径
# report_path="D:\test001\report\result.html"
report_path=os.path.join(os.getcwd(),"report")
def all_case():
discover=unittest.defaultTestLoader.discover(start_dir=case_path,
pattern="test*.py",
top_level_dir=None)
return discover
if __name__=="__main__":
fp=open(report_path,"wb")
runner= HTMLTestRunner.HTMLTestRunner(stream=fp,
title=u'这是我的报告',
description=u'用例执行情况')
runner.run(all_case())
fp.close()