2017-07-08 48 views
1

我讀過一些文章和例子,但我仍然不確定如何組織我的測試套件。機器人框架:我是否以正確的方式實現頁面對象模式?

比方說,我將測試一個公司網站,主頁有一個菜單,讓用戶訪問「about」,「products」,「contact us」等頁面。

這是我想出迄今構建我的項目,但我不知道它的可擴展性和可維護性方面的最佳方式:

/src/test/robotframework/acceptance包含GeneralResources.robot文件和每個網站的一個文件夾頁面

  • GeneralResources.robot文件包含將由所有測試中使用的庫引用一個 「設置」 部分(如:Selenium2Library)

  • /home文件夾包含4個文件:

    1. __init__.robot測試設置測試拆解所有主頁測試。
    2. Resources.robot全局變量(如$ {} HOME_URL或 $ {} home_title),並在主頁測試將使用更高級別的關鍵字。
    3. PageObjects.robot帶有變量,該變量存儲將在主頁中測試的所有對象(例如主標識,主菜單,頁腳等)的定位器。
    4. tests.robot我將在主頁上執行所有測試。所述設置部分調用其他文件(除了INIT其自動檢測)是這樣的:

資源Resources.robot

資源PageObjects.robot

資源../Gener alResources.robot

  • ​​文件夾也將包含4個文件,組織方式爲/ home文件夾相同。
  • /products文件夾也將包含4個文件,組織方式與/ home文件夾相同。
  • /contactus文件夾也將包含4個文件,組織方式與/ home文件夾相同。

我並不確定這是正確的路要走,因爲每頁4個文件看起來像一個開銷。我想知道如果我忽視的東西,或者也許一些我使用的文件應該被合併成一個。

+2

你有沒有考慮在Python寫你的關鍵字?它給你更多的靈活性。我寫了一個頁面對象庫,這使得這非常簡單。請參閱https://github.com/boakley/robotframework-pageobjectlibrary。不幸的是,對這個問題的回答主要是意見,而這類問題在這裏是脫離主題的。 –

+0

謝謝,布萊恩。不幸的是,我在我的項目中使用Java,而我沒能找到,將設置頁面對象模式給我的圖書館,所以我想從頭開始組織它自己。我的結構不夠靈活嗎? – Floella

回答

1

Page對象模型是抽象在每個頁面的基礎上,從測試邏輯應用程序UI的一個好辦法。

在您的應用程序在跨多個頁面重複使用,則每頁方法可能不太有效分離的元素構成的事件。

對於我與ID生成工作的應用程序是可預測的,我選擇抽象反映了應用程序的結構,因此每頁面我只是重複使用的基本構建塊表示所述應用程序的功能。

相關問題