unittest执行脚本方法之discover()方法

继续接着介绍,如何利用unittest管理和执行测试用例的问题,这里我们还是利用之前已经有的三条测试用例,如果你跳过了前面文章,请回到框架设计篇的第八篇和第七篇,里面有相关测试类的文件。本文来介绍,如果利用discover()方法去加载一个路径下所有的测试用例。这个方法是不是太适合我们现在的需求,例如我只需要跑testsuite包下所有测试用例,不管在里面有多少个包和多少个测试类,只需要用discover()搞定,来看看这个场景下TestRunner.py如何写。
 ———————————————— 
# coding = utf-8
import unittest
 
suite = unittest.TestLoader().discover("testsuites")
 
 
if __name__=='__main__':
    #执行用例
    runner=unittest.TextTestRunner()
    runner.run(suite)

上面的testsuites是可以包名,也可以是一个文件夹名称,在实际脚本开发过程中,最后都采用这个方法来批量管理和执行几百上千的测试用例。
 ———————————————— 
本文来介绍如何生成自动化测试报告,前面文章尾部提到了利用HTMLTestRunner.py来生成自动化测试报告。关于HTMLTestRunner不过多介绍,只需要知道是一个能生成一个HTML格式的网页报告就可以,其他的可以自己去搜索查询资料。我们需要在我们自动化框架里面继承一个报告输出,直接来看看效果。
 ———————————————— 
这里我们报告输出代码写到了,负责执行测试套件TestRunner.py这个文件。相关代码如下:

# coding=utf-8
import HTMLTestRunner
import os
import unittest
import time
 
 
# 设置报告文件保存路径
report_path = os.path.dirname(os.path.abspath('.')) + '/test_report/'
# 获取系统当前时间
now = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time()))
 
# 设置报告名称格式
HtmlFile = report_path + now + "HTMLtemplate.html"
fp = file(HtmlFile, "wb")
 
# 构建suite
suite = unittest.TestLoader().discover("testsuites")
 
if __name__ =='__main__':
 
    # 初始化一个HTMLTestRunner实例对象,用来生成报告
    runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=u"某某项目测试报告", description=u"用例测试情况")
    # 开始执行测试套件
    runner.run(suite)
 测试报告用浏览器打开截图,在你项目文件路径下,找到这个HTML的报告,用本地浏览器打开。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值