Pythonnewbはこちら。テストケース全体で同じブラウザを再利用しようとしています。ただし、これを機能させるためにグローバル変数を渡す方法がわかりません。
現在、私はこの#!C:/Python27/python.exeのようなmain.pyを持っています
import unittest
import unittest, time, re, HTMLTestRunner, cgi
import os, sys, inspect
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
global DRIVER
DRIVER = webdriver.Firefox()
# Make all subfolders available for importing
cmd_folder = os.path.realpath(os.path.abspath(os.path.split(inspect.getfile( inspect.currentframe() ))[0]))
if cmd_folder not in sys.path:
sys.path.insert(0, cmd_folder)
# Import test cases
from setup.testcaseA import *
from setup.testcaseB import *
# serialize the testcases (grouping testcases)
suite = unittest.TestSuite() # setup new test suite
suite.addTest(unittest.makeSuite(testcaseA))
suite.addTest(unittest.makeSuite(testcaseB))
runner = HTMLTestRunner.HTMLTestRunner()
print "Content-Type: text/html\n" # header is required for displaying the website
runner.run(suite)
そして、私は次のようなsetup/フォルダーにtestcaseA.pyファイルを持っています:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
import unittest, time, re, cgi
class testcaseA(unittest.TestCase):
def setUp(self):
#get global driver variable <- DOESNT WORK!
self.driver = DRIVER
def testcaseA(self):
driver = self.driver
#Bunch of tests
def tearDown(self):
#self.driver.quit() <- Commented out, because I want to continue re-using the browser
testcaseB.pyは基本的にtestcaseA.pyと同じです
main.pyを実行すると、次のエラーが発生します。ft1.1:トレースバック(最後の最後の呼び出し):ファイル "C:\ test \ setup \ testcaseA.py"、行10、setUp self.driver = DRIVER #getグローバルドライバ変数NameError:グローバル名'DRIVER'が定義されていません
助言がありますか?
ありがとう!