本文開始介紹如何通過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())
今天來學習下,如果加載這兩個測試類文件裏面的3個測試腳本。在unittest下有一個管理測試套件的叫TestSuit(),我們要使用這個測試套件,需要先初始化一個suite實例,然後這個實例有一個addTest()的方法,可以加載不同類裏面的不同測試函數,格式這樣的 addTest(測試類的類名(‘測試函數名稱,就是test開頭的函數’)),我們在testsuites這個包下新建一個TestRunner.py文件用來管理我們的用例啓動方式。
來看看這個TestRunner.py的內容
————————————————
# coding = utf-8
import unittest
import testsuites
from testsuites.test_baidu_search import BaiduSearch
from testsuites.test_get_page_title import GetPageTitle
suite = unittest.TestSuite()
suite.addTest(BaiduSearch('test_baidu_search'))
suite.addTest(BaiduSearch('test_search2'))
suite.addTest(GetPageTitle('test_get_title'))
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
這個方法有沒有侷限性呢?當然有,加入你有幾百個測試類,你是不是也一直這樣手動去添加?有沒有其他更好的方法去加載我們的測試腳本,關於這個問題,請看下一篇文章。
————————————————
版權聲明:本文爲CSDN博主「Anthony_tester」的原創文章,遵循CC 4.0 by-sa版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/u011541946/article/details/70460305