定位格式
雖然的Watir代碼必須根據所提供的格式不同的東西 - 即一個散列VS兩個參數 - 從的Watir用戶(即您)的角度來看,它們是相同的。你可以使用任何你喜歡的。 Watir很早以前只支持使用單一屬性的定位元素。那時,唯一支持的格式是:something, 'something'
。
當Watir移動以支持具有多個屬性的定位元素時,使用散列的選項:something => 'something'
變爲可用。就我所知,原始格式:something, 'something'
保留了向後兼容性。
因此,如果您只是根據單個屬性定位元素,則可以使用任一格式。如果您使用多個屬性,則必須使用散列 - :something => 'something', :something2 => 'something2'
。
我建議只使用散列格式,因爲它可以保持事物的一致性,並且在未來添加其他屬性時更易於更改。
括號
你對括號的問題,這是一個Ruby的事,而不是事情的Watir。括號只有在Ruby語句解析不明確時纔是必需的。
對於Watir定位器,你幾乎總是需要括號。例如:
# Parenthesis are required
browser.link(:id => '1').text
# Without, an exception occurs - undefined method `text' for "1":String (NoMethodError)
browser.link :id => '1'.text
我想你可以去沒有括號的一點是如果你有一條線剛剛初始化一個元素。上面的內容可以通過將其分爲兩行來重寫,而不用括號。
e = browser.link :id => '1'
e.text
同樣,我會建議總是使用括號使思維過程更容易。
+1只適用於'我建議只使用散列格式,因爲它可以保持事物的一致性,並且在未來添加其他屬性時更易於更改。 –