テストでサブクラス化する基本クラスを作成することで、なんとか機能させることができました。この基本クラスは、setUp()メソッドによって一度セットアップされて次のテストに戻る静的ドライバーを作成します。
from selenium import webdriver
import unittest, time, re
class TestBase(unittest.TestCase):
driver = None
rand = str(random.uniform(1,10))
base_url = "desiredtestURLhere"
def setUp(self):
if (TestBase.driver==None):
TestBase.driver = webdriver.Firefox()
TestBase.driver.implicitly_wait(30)
return TestBase.driver
そして、私が実行した2つのテスト...
import unittest, time, re
from testbase import TestBase
class Login(TestBase):
def test_login(self):
driver = TestBase.driver
base_url = TestBase.base_url
driver.get(base_url)
# etc
テスト#2を連続して実行します...
import random
import unittest, time, re
from testbase import TestBase
class CreateThread(TestBase):
def test_create_thread(self):
driver = TestBase.driver
base_url = TestBase.base_url
rand = TestBase.rand
driver.get(base_url + "/forum.php")
# etc
私のtestsuite.pyを実行します...
import unittest, sys
# The following imports are my test cases
import login
import create_thread
def suite():
tsuite = unittest.TestSuite()
tsuite.addTest(unittest.makeSuite(login.Login))
tsuite.addTest(unittest.makeSuite(create_thread.CreateThread))
return tsuite
if __name__ == "__main__":
result = unittest.TextTestRunner(verbosity=2).run(suite())
sys.exit(not result.wasSuccessful())
これはPythonに初めて触れたので、明白な問題がある場合は、フィードバックをいただければ幸いです。