0

我目前使用Ruby,Watir-webdriver和Cucumber創建自動化測試框架。我非常喜歡頁面對象樣式結構代碼的方式,但我的應用程序並沒有經常更改頁面(我試圖自動化Sitecore內容編輯器/頁面編輯器)。我假設有一種方法可以將大部分頁面分離到它自己的類中,然後在該類中定義方法。然而,如果我需要在同一頁面上做很多事情,我將如何使用頁面對象gem和黃瓜來調用這個類?如何在不改變頁面的web應用程序中使用頁面對象樣式自動化測試

到目前爲止,我知道如何做到這一點的唯一途徑就是這樣。

class Sitecore 
    include PageObject 
    page_url "http://website.com/" 
    include PageObject::PageFactory 

    # methods for a large portion A 
    # methods for a large portion B 
    ... 
    # methods for a large portion Z 
end 

然後有這樣的相應的黃瓜測試。

Given(/^I am in the content editor$/) do 
    visit Sitecore do |page| 
     page.MethodA 
     page.MethodB 
    end 
end 

When(/^I navigate to some folder$/) do 
     on Sitecore do |page| 
      page.MethodC 
      page.MethodD 
     end 
    end 

Then(/^I should see something present$/) do 
     on Sitecore do |page| 
      page.MethodE 
     end 
    end 

這些都使用相同的類,所以很容易。我只是使用訪問和關鍵字。但是,如果我要將其改爲多個類,那麼如何在不改變我所在的頁面的情況下調用這些類?

+0

這是一個有點不清楚,你有困難。爲什麼不能創建多個頁面對象並像正常一樣使用它們? – 2015-04-01 20:17:42

回答

0

你的問題是有點混亂,你在找這樣的:

Given(/^I am in the content editor$/) do 
    page = Sitecore.new 
    page.goto(page_url) 
end 

When(/^I navigate to some folder$/) do 
    page.MethodC 
    page.MethodD 
end 

Then(/^I should see something present$/) do 
    page.MethodE 
end 
+0

是的,我認爲這會奏效!謝謝!我想我一直在考慮問題 – Allvitende 2015-04-01 21:34:33

+0

NP。保持簡單永遠是最好的選擇。 – 2015-04-01 21:46:26

相關問題