HTMLReport测试报告
<p>import unittest #导入unittest框架,它本身是没有报告的
import HTMLReport</p>
<p>if <strong>name</strong>=='<strong>main</strong>':
"""
模板1:批量执行测试用例 //适用于数据与脚本已分离</p>
<pre><code> #1.创建测试套件suite
#2.将用例加载入测试套件中
#加载器defaultTestLoader
#加载用例discover #discover(TEST_CASE,pattern='test*py'):加载TEST_CASE目录下所有以test开头的文件到套件中
suite = unittest.defaultTestLoader.discover(TEST_CASE,pattern='test*py')
#3.创建执行器TextTestRunner
runner = unittest.TextTestRunner()
#4.执行用例
runner.run(suite)</code></pre>
<p>模板2:批量执行测试用例 //适用于数据与脚本未分离</p>
<pre><code> #用例列表
case_list = ['test_001','test_002','test_003','test_004']
# 创建测试套件suite
suit = unittest.TestSuite()
# 将用例加载入测试套件中
for case in case_list: #把用例Test类下所有的以case开头的用例全部循环加入套件suit中
suit.addTest(Test(case)) #Test:用例类
# 创建执行器TextTestRunner #verbosity=2:为每一个测试用例生成测试报告;run(suit):执行测试套件中的用例
# unittest.TextTestRunner(verbosity=2).run(suit)
# 生成html测试报告
with open('report.html','wb')as f:
HTMLTestRunner(
stream=f, # 相当于f.write(报告)
title='KR测试报告', # 报告名称
description='KR测试报告描述', # 报告描述
verbosity=2 # 为每个测试用例生成测试报告
).run(suit) # 执行测试套件中的用例</code></pre>
<p>模板3:批量执行测试用例 //适用于数据与脚本已分离</p>
<pre><code># 1.创建测试套件suite
# 2.将用例加载入测试套件中
# 加载器defaultTestLoader
# 加载用例discover #discover(TEST_CASE,pattern='test*py'):加载TEST_CASE目录下所有以test开头的文件到套件中
suite = unittest.defaultTestLoader.discover(TEST_CASE, pattern='test*py')
# 3.创建执行器TestRunner
runner = HTMLReport.TestRunner(
# 报告文件名,如果未赋值,将采用“test+时间戳”;
report_file_name='Testcase',
# 保存文件夹名,默认“report”;
output_path='Testcase',
# 保存文件夹名,默认“report”;
output_path='report',
# 报告标题,默认“测试报告”;
title='KR自动化测试报告',
# 报告描述,默认“测试描述”;
description='KR自动化测试报告描述',
# 并发线程数量(无序执行测试),默认数量 1;
thread_count=1,
# 各线程启动延迟,默认0s;
thread_start_wait=3,
# 是否按照套件添加(addTests)顺序执行;
# 会等待一个addTests执行完成,再执行下一个,默认False;
# 如果用例中存在 tearDownClass ,建议设置为True;
# 否则tearDownClass 将会在所有用例线程执行完后才会执行;
sequential_execution=False,
# 支持中文与英文,默认中文;
# lang='en'
lang='cn'
)
# 4.执行用例
runner.run(suite)</code></pre>