2014-10-03 111 views
1

我一直在更新我的表單,現在有一種模式允許創建鏈接模型。無論是模態窗體本身有一個名爲「保存」按鈕,我與水豚靶向檢查對象開始使用成功創建:如何使用ERB爲一個提交按鈕生成一個唯一的ID

(page).click_button('Save') 

現在,我已經添加了莫代爾,有兩個按鈕具有相同的名稱,我想不同的ID通過他們再培訓局的代碼生成一個自動:

<%= f.submit "Save", class: "btn btn-large btn-success"%> 

如何做到這一點與ERB?我嘗試過使用html:{id:「Something else」},但這不起作用。

另外,有另一種機制來獲得水豚點擊一個特定的按鈕(如click_button_first(「保存」)或類似的(我似乎無法找到相應文件,這樣的東西)。

回答

2

有具有相同名稱的兩個按鈕,我想不同的ID通過他們再培訓局的代碼生成一個自動

你可以給IDS提交這樣的按鈕:

<%= f.submit "Save", class: "btn btn-large btn-success", id: "some-id"%> 

另外,有另一種機制來獲得水豚點擊一個特定的按鈕

如果你不想分配ID,那麼你可以簡單地窩您的按鈕選擇適當,然後用它,這樣的事情:

page.find(".btn").click #this will target button with class btn 
page.find("#some-modal-id .btn").click #this will target button inside a modal 
+1

謝謝 - 我用後一種方法只是針對css選擇器內的按鈕 – Zoinks10 2014-10-03 05:31:57

0

鑑於你可以這樣做:

<%= f.submit "Save", class: "btn btn-large btn-success" id:'btn_id'%> 

在步驟定義,你可以這樣做

find(:xpath, "xpath_of_btn").click 
find("#btn_id").find("Save").click