При попытке создать класс со ссылкой я получаю сообщение об ошибке «объект модуля не вызывается»: импортируйте LoginPage как loginPage.
Однако, когда я пытаюсь импортировать только сам класс, импортирующий LoginPage.LoginPage как loginPage, я получаю другую ошибку, говоря, что модуль не содержит этот объект.
Я не уверен, что так я создаю объект, используя ссылку в скобках. Есть ли другой способ сделать это? Я также пробовал pageClassRef.LoginPage (), та же ошибка «модуль» не вызывается
import ....
import inspect
import LoginPage as loginPage
#Singleton class type
class Singleton(type):
def __init__(cls, name, bases, dic):
super(Singleton, cls).__init__(name, bases, dic)
cls.instance = None
def __call__(cls, *args, **kwargs):
if cls.instance is None:
cls.instance = super(Singleton, cls).__call__(*args, **kwargs)
return cls.instance
class NavTestSession(object):
# Config properties
__metaclass__ = Singleton
def __init__(self, configManager):
self.cfgManager = configManager
self.navTestEngine = NavTestEngine.Navigator(navVersion, resolution, scoreList)
def getConfigManager(self):
return self.cfgManager
def startNavigating(self):
return self.createPageObject(loginPage)
def createPageObject(self, pageClassRef):
# Create page factory method and validation
newPageObj = pageClassRef()
#print(newPageObj)
newPageObj.validatePage()
return newPageObj
def startNewSession(self):
loginPage = self.navTestEngine.launchAppFromMenu()
return loginPage
LoginPage.py
import NavPageObject
class LoginPage(NavPageObject):
# Image to validate the current page
PAGE_VALIDATION_IMAGE = "Views_SIGNIN.png"
# Images of objects on the current page
USERNAME_INPUT_FIELD_1 = "Input_USERNAME_1.png"
USERNAME_INPUT_FIELD_2 = "Input_USERNAME_2.png"
PASSWORD_INPUT_FIELD = "Input_PASSWORD.png"
def __init__(self):
super(LoginPage, self).__init__()
def validatePage(self):
if not self.navTestEngine.imageExists(self.PAGE_VALIDATION_IMAGE,
super().getCurrentRegion()):
raise FindFailed("Page Validation fail at %s" % __file__)
def typeUsername(self, username):
self.navTestEngine.clickWithRetry(USERNAME_INPUT_FIELD_1)
type("blahblah")
return self
def typePassword(self, password):
return self
def clickLogin(self):
return self