我在一个带有机器人框架,页面对象库,selenium2library的项目上工作
我找不到在页面对象上使用多个mixin的方法。
我想在LoginPage中使用两个mixins
MainNavigation有效,但HeaderMixin不起作用
我的套件设置是在每次测试时登录,所以我需要在该LoginPage上使用mixins
如何在页面对象上使用多个mixin?
这是我的LoginPage对象:
class LoginPage(MainNavigation, HeaderMixin, PageObject):
"""LoginPage baseclass"""
PAGE_URL = "/user/login"
PAGE_TITLE = "Title"
_locators = {
"username": 'id=login_email',
"password": 'id=login_password',
"button": "id=login"
}
答案 0 :(得分:0)
使用多个mixin并不需要做任何特殊的事情 - 只需创建一个包含所需新关键字的python类,并在定义类时包含mixins。
例如,考虑以下两个mixin类:
class MainNavigation():
def main_nav_keyword(self):
pass
class HeaderMixin():
def header_keyword(self):
pass
您可以在LoginPage
课程中使用这些混音:
class LoginPage(MainNavigation, HeaderMixin, PageObject):
...
在使用LoginPage
的班级中,您现在可以访问导航关键字和标题关键字,就好像它们是页面的一部分一样:
*** Test Cases ***
Example
go to page LoginPage
the current page should be LoginPage
main nav keyword
header keyword