安装
1,HTMLTestRunner下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html,选择HTMLTestRunner.py下载。
image.png2,打开显示是这样的,右击另存为Python的Lib目录下
image.png image.png3,python3中用HTMLTestRunner.py报importError“:No module named 'StringIO'解决办法
原因是官网的是python2语法写的,进入HTMLTestRunne模块中,手动把官网的HTMLTestRunner.py改成python3的语法
第94行,将import StringIO修改成import io
第539行,将self.outputBuffer = StringIO.StringIO()修改成self.outputBuffer = io.StringIO()
第642行,将if not rmap.has_key(cls):修改成if not cls in rmap:
第766行,将uo = o.decode('latin-1')修改成uo = e
第772行,将ue = e.decode('latin-1')修改成ue = e
第631行,将print >> sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime)修改成print(sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime))
用法
1,使用前先导入
import HTMLTestRunner
2,定义报告所放置的位置及文件名,我这里是保存在report下,命名为“first_case.html”,采用的相对路径
注意:如果没有加html后缀,文件是打不开的
file_path = os.path.join(os.getcwd() + '/report/' + 'first_case.html')
3,通过open()方法以二进制写模式'wb'打开当前目录下的测试报告.html,如果没有,则自动创建。
p = open(file_path, 'wb')
4,定义测试报告的标题与描述
runner = HTMLTestRunner.HTMLTestRunner(stream=p, title='this is first report', description=u'这是第一个报告')
5,创建测试套件,并将测试用例添加到套件中
suite = unittest.TestSuite()
suite.addTest(FirstCase('test_login_email_error'))
suite.addTest(FirstCase('test_login_password_error'))
suite.addTest(FirstCase('test_login_phone_error'))
suite.addTest(FirstCase('test_login_success'))
6,执行并自动生成报告
runner.run(suite)
7,运行成功后,report文件夹下有个first_case.html文件。在文件资源管理器中显示并打开后如图
生成的文件.png测试报告.png
HTMLTestRunner()参数
从HTMLTestRunner方法的源码中可以看到需要输入四个值
- stream:定义测试报告的存放路径
- title:定义测试报告的标题
- description:定义测试报告的副标题,相当于描述
-
verbosity:报告的详细程度,只有0、1、2 。2为最详细。默认值为1,不限制完整结果,即单个用例成功输出’.’,失败输出’F’,错误输出’E’;=0的时候,不输出信息;=2的时候,需要打印详细的返回信息。
image.png
网友评论