我已經閱讀了一些關於Python Selenium Webdriver Page Object模型的教程,因爲我必須使用Selenium和Python自動化gui測試。Python WebDriver AttributeError:LoginPage實例沒有屬性「驅動程序」
首先我想寫一個Login Page類和一個LoginMainTest類。我在運行代碼時遇到以下錯誤。
AttributeError的:LoginPage實例沒有屬性「司機」
我想我必須指定硒司機在那裏我實例化LoginPage 例如在這一行log_in = LoginPage.LoginPage()
我需要一些幫助。
完整的錯誤:
Traceback (most recent call last):
File "E:\Python projects\unitTest_sample - Modifying into Page Object\LoginMainTest.py", line 11, in test_valid_login
log_in = LoginPage.LoginPage()
File "E:\unitTest_sample - Modifying into Page Object\LoginPage.py", line 20, in __init__
emailFieldElement = self.driver.find_element_by_id(self.emailFieldID)
AttributeError: LoginPage instance has no attribute 'driver'
我LoginMainTest.py類如下:
import LoginPage
import unittest
class GoogleTest(unittest.TestCase):
def test_valid_login(self):
log_in = LoginPage.LoginPage()
log_in.userLogin_valid()
if __name__ == '__main__':
unittest.main()
我Login.py類如下:
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
class LoginPage():
Username = "test1"
password = "Test"
emailFieldID = "email"
passFieldID = "pass"
loginButtonXpath = "//input[@value='log in']"
logo_xpath = "//a[contains(@href, 'logo')])[1]"
def setup(self):
self.driver = webdriver.Firefox()
self.driver.get("http://www.testaaa.com")
def __init__(self):
emailFieldElement = self.driver.find_element_by_id(self.emailFieldID)
passFieldElement = self.driver. find_element_by_id(self.passFieldID)
loginFieldElement = self.driver.find_element_by_xpath(self.loginButtonXpath)
def userLogin_valid(self):
self.emailFieldElement.clear()
self.emailFieldElement.send_keys(self.Username)
self.passFieldElement.clear()
self.send_keys(self.password)
self.loginFieldElement.click()
def tearDown(self):
self.driver.quit()
非常感謝。 –