2015-08-24 34 views
0

我想知道是否有可能使用PageObject :: PageFactory沒有黃瓜。我試了我可以在沒有黃瓜的情況下使用PageObject :: PageFactory嗎?

World(PageObject::PageFactory) 

但沒有黃瓜沒有世界。我無法找到另一種方式的例子。

爲什麼我會做一些瘋狂的事情?我想創建一個可以由測試人員下載的寶石,用來對付我們測試的產品。我喜歡cukes,但我也喜歡它用於探索性測試。我已經在其他終端上成功地做到了這一點。

我知道我可以在沒有PageFactory的情況下做到這一點,但是使用PageObject這種方式讓我感覺就像在作弊一樣容易。我想要使​​用這些模式。

visit(NewAccountPage) 
on(NewAccountPage).create_account 

也許還有另一種方式完全是?

回答

1

是的,你可以。有你需要做兩件事情:

  1. 包括您要使用的visiton等方法在對象的PageObject::PageFactory。 (這是黃瓜的World方法正在做什麼。)
  2. Watir::Browser對象定義一個@browser變量。

這裏是在主使用PageFactory的示例:

require 'watir-webdriver' 
require 'page-object' 

# A page object 
class GooglePage 
    include PageObject 

    page_url 'http://www.google.com' 
end 

# Including the page factory methods in the main 
include PageObject::PageFactory 

# Assign a browser to @browser 
@browser = Watir::Browser.new :chrome 

# Using the page factory 
visit(GooglePage) 

p on(GooglePage).current_url 
#=> "https://www.google.ca/?gfe_rd=cr&ei=UxfbVdnCAaeD8QeM96CACg&gws_rd=ssl" 
相關問題