2016-09-27 2 views
1

Изучение селена, управляемое Python, и в моей практике я продолжаю получать следующую ошибку. Я застрял и мог бы использовать некоторые указанияОбъект модуля Python Selenium не может быть вызван в скрипте selenium python

Traceback (most recent call last): File "test_login.py", line 14, in test_Login loginpage = homePage(self.driver) TypeError: 'module' object is not callable

Вот мой код

test_login.py

import unittest 
import homePage 
from selenium import webdriver 

class Login(unittest.TestCase): 

    def setUp(self): 
    self.driver = webdriver.Firefox() 
    self.driver.get("https://hub.docker.com/login/") 

    def test_Login(self): 
     loginpage = homePage(self.driver) 
     loginpage.login(email,password) 

    def tearDown(self): 
     self.driver.close() 

if __name__ == '__main__': unittest.main() 

homePage.py

from selenium.webdriver.common.by import By 

class BasePage(object): 

    def __init__(self, driver): 
     self.driver = drive 


class LoginPage(BasePage): 
    locator_dictionary = { 
     "userID": (By.XPATH, '//input[@placeholder="Username"]'), 
     "passWord": (By.XPATH, '//input[@placeholder="Password"]'), 
     "submittButton": (By.XPATH, '//button[text()="Log In"]'), 
    } 



    def set_userID(self, id): 
     userIdElement = self.driver.find_element(*LoginPage.userID) 
     userIdElement.send_keys(id) 

    def login_error_displayed(self): 
     notifcationElement = self.driver.find_element(*LoginPage.loginError) 
     return notifcationElement.is_displayed() 

    def set_password(self, password): 
     pwordElement = self.driver.find_element(*LoginPage.passWord) 
     pwordElement.send_keys(password)   

    def click_submit(self): 
     submitBttn = self.driver.find_element(*LoginPage.submitButton) 
     submitBttn.click() 

    def login(self, id, password): 
     self.set_password(password) 
     self.set_email(id) 
     self.click_submit() 

Любая помощь приветствуется

ответ

1

Я думаю, что здесь:

loginpage = homePage(self.driver) 

вы имели в виду, чтобы создать экземпляр класса LoginPage:

loginpage = homePage.LoginPage(self.driver) 
+0

Спасибо за ваш быстрый откос. – user1279586

+0

Сейчас я получаю: Traceback (самый последний вызов последнего): Файл "test_login.py", строка 16, в test_Login loginpage.login ('ID', 'PW') Файл "homePage.py", строка 31, в логин self.set_userID (идентификатор) Файл "/homePage.py", строка 18, в set_userID userIdElement = self.driver.find_element (* LoginPage.userID) AttributeError: объект типа 'LoginPage' не имеет attribute 'userID' Где я должен сосредоточиться или искать причину этой ошибки? Спасибо – user1279586

+1

@ user1279586 у вас есть опечатка - см. Привод против драйвера. – alecxe