2012-12-16 20 views
1

我以Selenium和FitNesse開始。我的目標是創建一個可以在不同瀏覽器中輕鬆運行的驗收測試套件。Fitnesse Slim + Selenium:多個瀏覽器的參數化套件層次結構?

起初我寫了一個很短的Selenium WebDriver封裝。包裝函數用於場景表,腳本表和查詢表。到目前爲止,一切都很好。

我的想法是創建一個名爲ParameterizedSuites的維基頁面層次結構,它具有任何可能深度的子套件和測試。現在我想創建一個名爲FirefoxSuite的套件,定義一個變量$ {BROWSER},其值爲「firefox」,並僅包含ParameterizedSuites。在ParameterizedSuites.SuiteSetUp中,將使用$ {BROWSER}實例化WebDriver實例。

但我的想法不起作用。看來我必須每包括分別設置SetUp,TearDown,Suite和Test頁面嗎?我的想法完全錯了嗎?還是我錯過了什麼?

有沒有人有類似的東西?

希望我的描述足夠清楚瞭解情況。

親切的問候, 安迪

回答

3

我想你想要的是SymbolicLinks。您可以使用符號鏈接將維基的子樹包含在wiki中的不同位置。

有關SymbolicLinks的更多信息,請檢查您的本地用戶指南或複印件在線:http://www.fitnesse.org/FitNesse.UserGuide.FitNesseWiki.SymbolicLinks

做,這是實際創建您的ParameterizedSuite,然後象徵性地將其鏈接到該定義配置頁面的常見方式提供專門的SetUp和TearDown頁面。這與你所描述的內容相反,但我認爲你所做的也可以工作,只要你使用SymbolicLinks來使頁面成爲參數化測試的維基結構的一部分。

FrontPage 
    SuiteOne 
    TestOne 
    ConfigurationOne 
    SetUp 
    TearDown 
    SuiteOneSymolicLink 
    ConfigurationTwo 
    SetUp 
    TearDown 
    SuiteOneSymolicLink 

在上述結構中,可以SuiteOne經由ConfigurationOne或ConfigurationTwo符號鏈接運行。當通過每個配置分層結構中的SuiteOneSymbolicLink運行時,ConfigurationOne或ConfigurationTwo頁面中定義的變量將繼承到SuiteOne。此外,Confiugration頁面中的SetUp和TearDown也將被繼承。

+0

謝謝丹,我會仔細看看。我想我過去試過使用它們,也許像變量繼承這樣的符號鏈接不起作用?我將建立一個簡單的示範項目。 – Andi

+1

變量繼承是符號鏈接的原因之一。你需要正確地構建它。我將編輯我的答案爲例。 –

+0

我懂了!大不了!我總是使用符號鏈接來表示wiki頁面中的頁面鏈接。現在我在porperty頁面中找到了符號鏈接部分。現在一切都完全符合我的要求!非常感謝Dan。 – Andi