2017-02-14 26 views
0

我正在研究一個黃瓜,紅寶石,水豚,siteprism項目,我們正在定義一個siteprism頁面對象中的大多數英國變量。定義頁面對象時可以使用siteprism變量來定義新變量嗎?

有沒有辦法讓我使用我創建的siteprism變量作爲新變量定義的一部分?

舉例來說,如果我有一個siteprim頁面看起來像:

sections :user_container, "#user_container" do 
    sections :address_module, "#address" do 
     element :house_number, "#house_number" 
    end 
end 

我可以以某種方式在同一pageobject聲明定義新的變量,像:

element :postcode, :user_container[2].:address_module[1].text 
OR 
element :postcode, ":user_container[2].:address_module[1].text" 
OR 
some other syntax or workaround? 

謝謝。

回答

0

看一看sections的site_prisms代碼 - https://github.com/natritmeyer/site_prism/blob/master/lib/site_prism/element_container.rb#L33 - 可以看到它所做的全部工作就是定義類的方法。它不會將傳遞給它的參數存儲在任何可以稍後訪問的地方或任何用戶可訪問的變量中。所以,沒有辦法在其他element/section調用中重用它們。你可以做的只是確定要訪問郵政編碼像

def postcode 
    user_container[2].address_module[1].text 
end 
+0

感謝您的解釋一如既往托馬斯類(頁面對象)的方法!及解決方法。好主意 :) – mickael