需要一点帮助来理解我做错了什么。可能很基本,但我还没有把我的大脑包裹起来。
我的代码是这样的:
class baseElement(object):
def __init__(self):
self.Portal = ''
self.locator = ''
def present(self):
return self.Portal.PTF.Presence_of_Element(self.locator)
def visible(self):
return self.Portal.PTF.Is_Element_Visible(self.locator)
class baseActiveElement(baseElement):
def hover(self):
self.Portal.PTF.Mouse_over_element(self.locator)
def click(self):
self.Portal.PTF.Click_on_Element(self.locator)
def get(self):
return self.locator
当我从这些基础实例化对象时,我定义了门户,它包含一些执行指定操作的功能。这行得通。那里没有问题。
但是pylint如此抱怨:
E1101: 8,15:baseElement.present: Instance of 'str' has no 'PTF' member
E1101: 11,15:baseElement.visible: Instance of 'str' has no 'PTF' member
E1101: 15,8:baseActiveElement.hover: Instance of 'str' has no 'PTF' member
E1101: 18,8:baseActiveElement.click: Instance of 'str' has no 'PTF' member
我应该怎么做才不会导致这个错误?
编辑:如果我将我的初始化更改为:
class baseElement(object):
def __init__(self):
self.Portal = object
self.Portal.PTF = self.Portal.PTF
self.locator = ''
pylint 反对意见消失了,我可以看到将门户定义为基础对象的价值,因为它最终将成为一个真实对象,但将 Portal.PTF 定义为本身对我来说似乎是无稽之谈。