selenium之批量执行测试用例生成HTML结果文件

使用HTMLTestRunner运行测试套件,自动生成html测试报告:
 1 import unittest, HTMLTestRunner, sendmail_html
 2 import time, os
 3 
 4 case_dir = 'D:\\pywork\\pyworkspace\\yzwx_selenium\\batch_case\\test_cases'
 5 t = time.strftime("%Y%m%d_%H%M%S", time.localtime())
 6 html_name = 'D:\\test_data\\auto_test_result\\result_' + t + '.html'
 7 result_dir = 'D:\\test_data\\auto_test_result'
 8 
 9 
10 def suites_run_html():
11     '''使用HTMLTestRunner运行测试套件,自动生成html测试报告'''
12     # discover函数遍历指定目录,按条件过滤文件,返回测试套件列表
13     discover_suites = unittest.defaultTestLoader.discover(case_dir, pattern='test_*.py')
14     print(discover_suites)
15     fp = open(html_name, 'wb')
16     runner = HTMLTestRunner.HTMLTestRunner(
17         stream=fp,
18         title='亚洲危险天气项目自动化测试报告',
19         description='用例执行情况:')
20     runner.run(discover_suites)
21     fp.close()
22     print("测试结果文件:", html_name)
23 
24 
25 def del_empty_html():
26     '''删除之前一次生成的空html文件'''
27     lastest_file = sendmail_html.find_new_file(result_dir)
28     file_size = os.path.getsize(lastest_file)
29     if file_size:
30         pass
31     else:
32         os.remove(lastest_file)
33         print("上次结果文件为空,已删除!", lastest_file)
34 
35 
36 del_empty_html()  # 删除之前一次生成的空html文件
37 suites_run_html()  # 执行测试套件

 

posted @ 2017-08-22 19:10  星瑞  阅读(299)  评论(0编辑  收藏  举报