本文开始介绍如何通过unittest来管理和执行测试用例,这一篇介绍unittest下addTest()方法来加载测试用例到测试套件中去。为了演示效果,我在前面文章的脚本基础上,新建了一个测试脚本,这个测试脚本有一个测试用例,加上前面的测试脚本,一共就是三个测试用例,前面那个测试类里面包括两个测试用例。
新建的测试脚本,test_get_page_title.py代码如下:
# coding = utf-8 import unittest from framework.browser_engine import BrowserEngine from pageobjects.baidu_homepage import HomePage class GetPageTitle(unittest.TestCase): @classmethod def setUpClass(cls): browser = BrowserEngine(cls) cls.driver = browser.open_browser(cls) @classmethod def tearDownClass(cls): cls.driver.quit() def test_get_title(self): homepage = HomePage(self.driver) print (homepage.get_page_title())
来看看这个TestRunner.py的内容
# coding = utf-8 import unittest import testsuites from testsuites.test_baidu_search import BaiduSearch from testsuites.test_get_page_title import GetPageTitle from testsuites.test_nba_news_view import ViewNBANews suite = unittest.TestSuite() suite.addTest(BaiduSearch('test_baidu_search')) suite.addTest(BaiduSearch('test_search2')) suite.addTest(GetPageTitle('test_get_title')) suite.addTest(ViewNBANews('test_view_nba_views')) if __name__ == '__main__': runner = unittest.TextTestRunner() runner.run(suite)
运行这个TestRunner.py,会在Pycharm的控制台输出类似这样结果:
----------------------------------------------------------------------
Ran 3 tests in 28.065s
OK
Process finished with exit code 0