5.テストファームウェアの分離
3222 ワード
テストファームウェアをinitに分離しました.py、クラス名はInitTestと呼ばれ、コードは以下の通りです.
テストクラスはInitTestを継承し、継承後、テストクラスで実行するテスト用例を直接作成し、コードは以下の通りである.
まずinitモジュールのInitTestクラスをインポートし、テストクラスbaidutestはINITTESTクラスを継承します.このようにテストクラスを実行すると、setupメソッドが先に実行され、具体的なテスト例が実行され、最後にteardownメソッドが実行されます.pythonのクラス継承は、各テストクラスでテストファームウェアを記述する必要があるという問題を解決します.
import unittest
from selenium import webdriver
class InitTest(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
self.driver.maximize_window()
self.driver.get("http://www.baidu.com")
self.driver.implicitly_wait(30)
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
suite = unittest.TestLoader().loadTestsFromModule('test.py')
unittest.TextTestRunner(verbosity=2).run(suite)
テストクラスはInitTestを継承し、継承後、テストクラスで実行するテスト用例を直接作成し、コードは以下の通りである.
import unittest
from init import InitTest
class BaiduTest(InitTest):
def test_baidu_news(self):
self.driver.find_element_by_link_text(' ').click()
def test_baidu_map(self):
self.driver.find_element_by_link_text(' ').click()
if __name__ == '__main__':
unittest.main()
まずinitモジュールのInitTestクラスをインポートし、テストクラスbaidutestはINITTESTクラスを継承します.このようにテストクラスを実行すると、setupメソッドが先に実行され、具体的なテスト例が実行され、最後にteardownメソッドが実行されます.pythonのクラス継承は、各テストクラスでテストファームウェアを記述する必要があるという問題を解決します.