の開始時にドライバー= self.driverを追加しました:
import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import os
import time
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
from selenium.webdriver.common.action_chains import ActionChains
from urllib.request import urlopen
from html.parser import HTMLParser
gecko = os.path.normpath(os.path.join(os.path.dirname(__file__), 'geckodriver'))
binary = FirefoxBinary('C:\Program Files (x86)\Mozilla Firefox\Firefox.exe')
driver = webdriver.Firefox(firefox_binary=binary, executable_path=gecko+'.exe')
class PythonOrgSearch(unittest.TestCase):
#sets up driver to run tests
def setUp(self):
self.driver = driver
self.driver.start()
def test_opens(self):
driver.get("url.com")
driver.find_element_by_id('username').send_keys('user')
driver.find_element_by_id('password').send_keys('pass')
driver.find_elements_by_css_selector("button[type='submit']")[0].click()
time.sleep(2);
self.assertIn("title", driver.title)
def ztearDown(self):
self.driver.close()
if __name__ == "__main__":
unittest.main()
EDIT:私のコードは次のようになります。あなたはPythonOrgSearchクラスの中に__init__
メソッドを持っていますか?
クラス内のどこでもself.driverを使いたくないですか? – PRMoureu
テストを並行して実行すると、テストが順不同で実行される可能性があります。あなたは?また、ドライバは、各テストの前に 'setUp' _で起動されます; _それらがどの順序で実行されても、ドライバが起動されていないときにはテストは実行されません。いくつかのテストを並行して実行すると、1つのブラウザしか実行していない可能性があるため、開閉が干渉する可能性があります。 – 9000