5.テストファームウェアの分離

3222 ワード

テストファームウェアをinitに分離しました.py、クラス名はInitTestと呼ばれ、コードは以下の通りです.
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のクラス継承は、各テストクラスでテストファームウェアを記述する必要があるという問題を解決します.