метакласс
Формирование объектов на лету. Реализация на python
Опубликовано polusok в 20.11.2010Выполняю очередную задачу по автоматизации решил немного упростить себе жизнь за счет формирования объектов на лету с помощью метаклассов
'''
Created on Nov 20, 2010
@author: polusok
'''
pageClass = "LoginPage"
pageBaseClass = "Page"
elementClass = "Ok"
elementBaseClass = "Button"
class Page(object):
def getUrl(self):
return "http://url"
class Button(object):
def click(self, xpath):
print "Click is triggered on xpath="+xpath
page = eval("type(pageClass, (%(p)s,), {})()" % {'p':pageBaseClass})
page.ok = eval("type(elementClass, (%(b)s,), {})()" % {'b':elementBaseClass})
if __name__ == '__main__':
print page.getUrl()
page.ok.click("//xpath[condition]")






