测试套件(Test Suite)是测试用例、测试套件或两者的集合,用于组装一组要运行的测试(多个测试用例集合在一起)。
(1)创建一个测试套件:
import unittest
suite = unittest.TestSuite()
(2)将测试用例,加载到测试套件中。
通过模块或测试用例类加载
import testcases # 测试用例的模块
import unittest
suite = unittest.TestSuite() # 创建测试套件
loader = unittest.TestLoader() # 用来加载TestCase到TestSuite中的
suite.addTest(loader.loadTestsFromModule(testcases)# 模块加载
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。
import unittest
suite = unittest.TestSuite()
loader = unittest.TestLoader()
suite.addTest(loader.discover(r"用例文件所在的目录的绝对路径"))
2、Test Runner
Test Runner:用于协调测试的执行并(通过图形界面、文本界面、返回特殊值)向用户提供结果。
(1)测试结果
.:用例通过
E:表示代码出错了
F:表示不通过
(2)使用启动器,执行测试套件。
runner = unittest.TextTestRunner() # 测试运行程序--->用来执行测试用例的
runner.run(suite)
3、生成测试报告
(1)text类型报告:
with open(“test_report.txt","w") as f:
runner = unittest.TextTestRunner(f)
runner.run(suite)3
(2)html类型报告:
from HTMLTestRunnerNew import HTMLTestRunner
runner = HTMLTestRunner(stream=open("test_report.html", "wb"), # 打开一个报告文件,将句柄传给stream
tester="xxx", # 报告种显示的测试人员
description="测试报告描述, # 报告种显示描述信息
title="测试报告标题") # 报告的标题
# 方法2
with open('test_report.html','wb') as file:
runner = HTMLTestRunner(stream=file,
tester = 'xxxx', # 报告种显示的测试人员
title='测试报告标题', # 报告的标题
description='测试报告描述' ) # 报告种显示描述信息
runner.run(suite)
完整代码为:
import time
import os
import unittest
from com.contants import CASE_DIR # 测试用例模块路径
from com.contants import REPORT_DIR # 测试报告路径
from com.myconf import conf # 读取配置文件(测试报告配置信息)
from library.HTMLTestRunnerNew import HTMLTestRunner # 生成测试报告
from com.sendemail import send_email
# 1.创建测试套件
suite = unittest.TestSuite()
# 2. 加载TestCase到TestSuite中
# 创建对象加载
loader = unittest.TestLoader()
# # (1)通过模块加载
# suite.addTest(loader.loadTestsFromModule(test_case))
# # (2)通过测试用例类加载
# suite.addTest(loader.loadTestsFromTestCae(test_case.类名))
#
# # (3)添加单条测试用例,不需要loader对象方法
# # 注意:通过用例类去创建测试用例对象时,需传入用例的方法名(字符串类型)
# suite.addTest(类名("用例方法名"))
# (4)指定测试用例的所在的目录路径,进行加载()
suite.addTest(loader.discover(CASE_DIR))
# 测试运行程序--->用来执行测试用例的
# 方法1
# runner = unittest.TextTestRunner()
# 方法2:将HTMLTestRunner文件放在scripts
report_name = time.strftime('%Y-%m-%d %H_%M') + conf.get('report','reportname')
report_path = os.path.join(REPORT_DIR,report_name)
with open(report_path,'wb') as file:
runner = HTMLTestRunner(stream=file, # 文件名
tester = conf.get('report','tester'), # 报告种显示的测试人员
title= time.strftime('%Y-%m-%d %H_%M_%S') + conf.get('report','title'), # 报告的标题
description=conf.get('report','description') ) # 报告种显示描述信息
runner.run(suite)
# 发送测试报告
send_email(report_path,report_name)
最后: 我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
全套资料获取方式: