应用unittest的TestSuites特性,可以将不同的测试组成一个逻辑组,然后设置统一的测试套件,并通过一个命令来执行测试。这都是通过TestSuites、TestLoader和TestRunner类来实现的。
用TestSuite类来定义和执行测试套件。可以把多个测试加入到一个测试套件中去。除TestSuite类,还可以用TestLoader和TextTestRunner来创建和运行测试套件,举例如下。
import unittest
from .searchtestsimport SearchTests
from .homepagetestsimport HomePageTest
# get all tests from SearchProductTest and HomePageTest class
search_tests = unittest.TestLoader().loadTestsFromTestCase(SearchTests)
home_page_tests = unittest.TestLoader().loadTestsFromTestCase(HomePageTest)
# create a test suite combining search_test and home_page_test
smoke_tests = unittest.TestSuite([home_page_tests, search_tests])
# run the suite
unittest.TextTestRunner(verbosity=2).run(smoke_tests)
使用TestLoader类,我们将得到指定测试文件中的所有测试方法且用于创建测试套件。TestRunner类将通过调用测试套件来执行文件中所有的测试。
python smoketests.py(测试套件文件,上面的文件)
将运行SearchProductTest类和HomePageTest类中的所有测试并且通过命令行形式生成下图这样的测试输出

资料来源:Selenium自动化测试:基于Python语言
网友评论