机器人框架,继承多个mixin

2024-05-29 11:53:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我在机器人框架、pageobject库、Selenium2库的项目中工作。
我找不到在页面对象上使用多个mixin的方法。
我想在登录页中使用两个mixin。
主导航工作,但HeaderMixin不工作。
我的套件设置是在每个测试上登录,所以我需要在登录页上使用mixins
如何在页面对象上使用多个mixin?你知道吗

这是我的登录页对象:

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"
    }

Tags: 项目对象方法框架idpage机器人login
1条回答
网友
1楼 · 发布于 2024-05-29 11:53:16

使用多个mixin并没有什么特别的需要,只要创建一个python类,其中包含您想要的任何新关键字,并在定义类时包含mixin。你知道吗

例如,考虑以下两个mixin类:

class MainNavigation():
    def main_nav_keyword(self):
        pass

class HeaderMixin():
    def header_keyword(self):
        pass

您可以在LoginPage类中使用这些mixin:

class LoginPage(MainNavigation, HeaderMixin, PageObject):
    ...

在使用LoginPage的类中,现在可以访问导航关键字和标题关键字,就像它们是页面的一部分一样:

*** Test Cases ***
Example
    go to page  LoginPage
    the current page should be  LoginPage
    main nav keyword
    header keyword

相关问题 更多 >

    热门问题