我目前使用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
這些都使用相同的類,所以很容易。我只是使用訪問和關鍵字。但是,如果我要將其改爲多個類,那麼如何在不改變我所在的頁面的情況下調用這些類?
這是一個有點不清楚,你有困難。爲什麼不能創建多個頁面對象並像正常一樣使用它們? – 2015-04-01 20:17:42