c 将图形生成html报告,3.5 unittest生成测试报告HTMLTestRunner

3.5 unittest生成测试报告HTMLTestRunner

前言

批量执行完用例后,生成的测试报告是文本形式的,不够直观,为了更好的展示测试报告,最好是生成HTML格式的。

unittest里面是不能生成html格式报告的,需要导入一个第三方的模块:HTMLTestRunner

备注:(以下是python2.7的HTMLTestRunner,python3.x的HTMLTestRunner需要自己稍做修改,可以在这里下载:http://pan.baidu.com/s/1hs5OXNY)

一、导入HTMLTestRunner

1.这个模块下载不能通过pip安装了,只能下载后手动导入,下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html

6b0647ae131e2688feedf7522777ec65.png

2.Download下HTMLTestRunner.py文件就是我们需要下载的包。

3.下载后手动拖到python安装文件的Lib目录下

二、demo解析

1.下载Download下的第二个文件test_HTMLTestRunner.py,这个就是官方给的一个测试demo了,从这个文件可以找到该模块的用法。

2.找到下图这段,就是官方给的一个demo了,test_main()里上半部分就是加载测试case,我们不需要搞这么复杂。

参考前面一篇内容就行了Selenium2+python自动化53-unittest批量执行(discover)

3.最核心的代码是下面的红色区域,这个就是本篇的重点啦。

fa2a4bbe195506a1fe21a817e3b7894b.png

三、生成html报告

1.我们只需把上面红色区域代码copy到上一篇的基础上稍做修改就可以了,这里主要有三个参数:

--stream:测试报告写入文件的存储区域

--title:测试报告的主题

--description:测试报告的描述

2.report_path是存放测试报告的地址

949347e9b6c7348939bddec88abdedcf.png

四、测试报告详情

1.找到测试报告文件,用浏览器打开,点开View里的Detail可以查看详情描述。

30c8ca13a3c9e62a68d2d3d59bf5b083.png

2.为了生成带中文描述的测试用例,可以在case中添加注释,如在test_01的脚本添加如下注释:

7e442901b634baa71b1dff9100684e1e.gif

classTest(unittest.TestCase):

defsetUp(self):

print "start!"

deftearDown(self): time.sleep(1) print "end!"

deftest01(self): u'''测试登录用例,账号:xx 密码xx''' print "执行测试用例01"

deftest03(self): u'''测试登搜索用例,关键词:xxx''' print "执行测试用例03"

cd089f95072ceebe6a4b83f68e82ba42.gif

3.重新运行后查看测试报告

0ffd2a644c67a0a67735ef301c441369.png

五、参考代码:

1.我下面的代码文件路径用的相对路径,这样就避免代码换个地址找不到路径的情况了

adfdc4b1a2bd441c87ef016e6222e431.gif

#coding:utf-8

importunittest

importos importHTMLTestRunner

#用例路径 case_path = os.path.join(os.getcwd(), "case") #报告存放路径 report_path = os.path.join(os.getcwd(), "report")

defall_case(): discover = unittest.defaultTestLoader.discover(case_path, pattern="test*.py", top_level_dir=None) print(discover) returndiscover if __name__ == "__main__": #runner = unittest.TextTestRunner() #runner.run(all_case()) #html报告文件路径 report_abspath = os.path.join(report_path, "result.html") fp = open(report_abspath, "wb") runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=u'自动化测试报告,测试结果如下:', description=u'用例执行情况:') #调用add_case函数返回值 runner.run(all_case()) fp.close()

51c184ac50a5d2625ba4f607b59e03f3.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值