尝试创建具有以下引用的类时出现错误“模块对象不可调用”:将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
答案 0 :(得分:0)
我认为问题在于您尝试将LoginPage导入为loginPage。 为什么不输入“从LoginPage导入LoginPage作为日志页面”