生成测试报告,在Unittest框架中就是简单

测试套件(Test Suite)是测试用例、测试套件或两者的集合,用于组装一组要运行的测试(多个测试用例集合在一起)。

(1)创建一个测试套件:

  1. import unittest

  2. suite = unittest.TestSuite()

(2)将测试用例,加载到测试套件中。

1、通过模块或测试用例类加载

  1. import testcases # 测试用例的模块

  2. import unittest

  3. suite = unittest.TestSuite() # 创建测试套件

  4. loader = unittest.TestLoader() # 用来加载TestCase到TestSuite中的

  5. suite.addTest(loader.loadTestsFromModule(testcases)# 模块加载

  6. suite.addTest(loader.loadTestsFromTestCase(testcases.类名)) # 用例类加载

添加单条测试用例

suite.addTest(类名("用例方法名"))

指定测试用例的所在的目录路径

进行加载()

discover(start_dir,pattern = "test*.py”,top_level_dir = None):start_dir:待测试的模块名或测试用例目录;pattern= "test*.py”:测试用例文件名的匹配原则;top_level_dir = None:测试模块的顶层目录,默认None。

  1. import unittest

  2. suite = unittest.TestSuite()

  3. loader = unittest.TestLoader()

  4. suite.addTest(loader.discover(r"用例文件所在的目录的绝对路径"))

2、Test Runner

Test Runner:用于协调测试的执行并(通过图形界面、文本界面、返回特殊值)向用户提供结果。

(1)测试结果

.:用例通过

E:表示代码出错了

F:表示不通过

(2)使用启动器,执行测试套件。

  1. runner = unittest.TextTestRunner() # 测试运行程序--->用来执行测试用例的

  2. runner.run(suite)

3、生成测试报告

(1)text类型报告:

  1. with open(“test_report.txt","w") as f:

  2. runner = unittest.TextTestRunner(f)

  3. runner.run(suite)3

(2)html类型报告:

  1. from HTMLTestRunnerNew import HTMLTestRunner

  2. runner = HTMLTestRunner(stream=open("test_report.html", "wb"), # 打开一个报告文件,将句柄传给stream

  3. tester="xxx", # 报告种显示的测试人员

  4. description="测试报告描述, # 报告种显示描述信息

  5. title="测试报告标题") # 报告的标题

  6. # 方法2

  7. with open('test_report.html','wb') as file:

  8. runner = HTMLTestRunner(stream=file,

  9. tester = 'xxxx', # 报告种显示的测试人员

  10. title='测试报告标题', # 报告的标题

  11. description='测试报告描述' ) # 报告种显示描述信息

  12. runner.run(suite)

完整代码为:

  1. import time

  2. import os

  3. import unittest

  4. from com.contants import CASE_DIR # 测试用例模块路径

  5. from com.contants import REPORT_DIR # 测试报告路径

  6. from com.myconf import conf # 读取配置文件(测试报告配置信息)

  7. from library.HTMLTestRunnerNew import HTMLTestRunner # 生成测试报告

  8. from com.sendemail import send_email

  9. # 1.创建测试套件

  10. suite = unittest.TestSuite()

  11. # 2. 加载TestCase到TestSuite中

  12. # 创建对象加载

  13. loader = unittest.TestLoader()

  14. # # (1)通过模块加载

  15. # suite.addTest(loader.loadTestsFromModule(test_case))

  16. # # (2)通过测试用例类加载

  17. # suite.addTest(loader.loadTestsFromTestCae(test_case.类名))

  18. #

  19. # # (3)添加单条测试用例,不需要loader对象方法

  20. # # 注意:通过用例类去创建测试用例对象时,需传入用例的方法名(字符串类型)

  21. # suite.addTest(类名("用例方法名"))

  22. # (4)指定测试用例的所在的目录路径,进行加载()

  23. suite.addTest(loader.discover(CASE_DIR))

  24. # 测试运行程序--->用来执行测试用例的

  25. # 方法1

  26. # runner = unittest.TextTestRunner()

  27. # 方法2:将HTMLTestRunner文件放在scripts

  28. report_name = time.strftime('%Y-%m-%d %H_%M') + conf.get('report','reportname')

  29. report_path = os.path.join(REPORT_DIR,report_name)

  30. with open(report_path,'wb') as file:

  31. runner = HTMLTestRunner(stream=file, # 文件名

  32. tester = conf.get('report','tester'), # 报告种显示的测试人员

  33. title= time.strftime('%Y-%m-%d %H_%M_%S') + conf.get('report','title'), # 报告的标题

  34. description=conf.get('report','description') ) # 报告种显示描述信息

  35. runner.run(suite)

  36. # 发送测试报告

  37. send_email(report_path,report_name)

 

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值