--批量添加用例--
*****必须写:suite=unittest.TestSuite() -------------------------------------创建测试用例容器
一、在同一个.py文件中,
如果想要执行全部:
直接在下方写:unittest.main()
如果想要执行部分用例:
suite.addTest(类名("以test开头的测试用例的名称(函数名)"))-----将想要执行的用例添加到容器中
runner = unittest.TextTestRunner() ---------------------------执行测试用例
runner.run(suite)
二、同一个目录时
首先把.py文件中的测试用例的类先导入进来
然后在用,unittest.addTest(类名("以test开头的测试用例的名称,就是函数名)"))
例如:
unittest.addTest(baidu(test_baidu_search))
runner = unittest.TextTestRunner() ---------------------------执行测试用例
runner.run(suite)
三、不在同一个目录时,以下两种方式都可以
1、unittest.addTest(类名("以test开头的测试用例的名称(函数名)"))
或
2、这时我们用unittest.makeSuite(类名),直接写测试用例的类名就可以:
from UI_selenium_frame.test_case.t_email import My_email 引用模块,把My_email的类导入进来
suite.addTest(unittest.makeSuite(My_email))----My_email(类名)
suite.addTest(unittest.makeSuite(My_email))----My_email(类名)
suite.addTest(unittest.makeSuite(My_email))----My_email(类名)
suite.addTest(unittest.makeSuite(My_email))----My_email(类名)
suite.addTest(unittest.makeSuite(My_email))----My_email(类名)
……(但用例过多时很不方便,所以引用下面的形式)
----但是为了防止测试用例过多,一个一个添加,用一个单独的文件放入这些测试用例的函数名
形成一个列表,然后在用for遍历类名
--------例如-----------
for test in caselist(): #caselist()为单独放测试用例类名的文件
suite.addTest(unittest.makeSuite(test))
caselist文件内容为:
---------------------------------------------------------------
rom UI_selenium_frame.test_case.t_baidu import Mybaidu_search --引用模块--
from UI_selenium_frame.test_case.t_email import My_email
def caselist():
"""用于存放测试用例的类名
"""
alltestname=[
Mybaidu_search,-------测试用例类名(可以加备注是什么用例,以便下次方便理解)
# My_email
]
print("success read case list")
return alltestname
这个文件的目的是为了后续能够快速的添加用例,或想要执行部分测试用例(不执行的注释掉就可以),而且用例过多时保证用例不乱
以免自己找用例时找不到,或者已经不知道是什么用例,----因为这个文件就是一个执行用例的集合文件
-----------------------------------------------------------------
# 定义时间,使生成的报告名称为执行时间
now = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime()) # 创建文件时,名称不能含“:”,可以是“_”