2017-07-14 40 views
0

我使用機器人框架,pageobject庫,selenium2library工作。
我找不到在頁面對象上使用多個mixin的方法。
我想在LoginPage中使用兩個mixin。
MainNavigation有效,但HeaderMixin不起作用。
我的套件設置是在每次測試中登錄的,所以我需要在該頁面上使用mixin
如何在頁面對象上使用多個mixin?機器人框架,繼承多個mixins

這是我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

請提供[mcve]。 「不起作用」只是沒有足夠的信息繼續下去。它也有助於顯示您正在使用哪個頁面對象庫。我假設https://github.com/boakley/robotframework-pageobjectlibrary,但你應該在你的問題中包含這些信息。 –

回答

0

沒有什麼特別的,你需要做的,使用多個混入 - 只需創建所需的任何新的關鍵字Python類,幷包括定義時混入類。

例如,請考慮以下兩個混入類:

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 
+0

我的第一頁是LoginPage,我試過像你之前說過的,但它不起作用 –

+0

@KaanSan:「不起作用」是一句無用的短語。你必須得到某種錯誤或意外的行爲。您需要編輯您的問題以包含錯誤或意外行爲。 –