Calling method of user defined class in keyword test
Hi *,
maybe this was asked before, but I can't find a solution.
Given:
- language: python
- class definition:
remark: I prefer identifying page elements with css-selectors because the name mapping tree seems to be to inconvenient to me, especially when there are still coming layout changes. Coming from angular there are too much panels, you know?
class AppLogin(WebElement): def __repr__(self): return "{}()".format(self.__class__.__name__) def __str__(self): return "{}".format(self._selectors) def __init__(self, page): super().__init__(page) self._selectors = dict( InputUsername=r'app-login input[type=text]', InputPassword=r'app-login input[type=password]', MessageArea=r'app-login p', ButtonLogin=r'app-login button[type=submit]', ) #-- API -- @property def InputUsername(self): return self.get("InputUsername") ... #-- Convenience -- def set_username(self, text): self.InputUsername.Click() self.InputUsername.SetText(text) return self ...
- what I want to do:
in a keywordtest I would like to define a step, where the object of type AppLogin is instantiated and the method set_username called: AppLogin(page).set_username("blah"). I do not want to write a wrapper function around it, because this adds another level of indirection, what I do not think is a good solution.
If someone of you has an idea to call the method directly as shown above in the keyword test?
Regards
Ulrich
Duplicated post. Please avoid asking the same question twice.
https://community.smartbear.com/t5/TestComplete-Functional-Web/How-to-call-methods-of-user-defined-objects-in-keyword-test/m-p/175176#M33644