2011-11-28 34 views
7

我想檢查我的黃瓜測試中的複選框,但我不知道如何告訴它通過除ID,名稱之外的其他任何東西進行搜索或標籤。我不斷收到此錯誤:黃瓜水豚發現其他複選框的ID,名稱或標籤

cannot check field, no checkbox with id, name, or label 'xxxx' found 

我加入「標識」的屬性,以每個複選框,具有獨特的價值,並希望通過這些字詞找到了箱子。

回答

7

您是否意味着您已將一個名爲identifier的新屬性添加到每個複選框?如果是的話你可以使用CSS定位找到他們:(set -ing複選框以true檢查它,使用false取消選中它)

find(:css, "[identifier='#{my_checkbox_identifier}']").set(true)

+0

是的,你說得對 - 我的意思是我補充說,作爲一個屬性。但是,當我嘗試該代碼時,出現此錯誤:無法找到css「[identifier ='檢查:NCO']」(Capybara :: ElementNotFound)。生成的HTML是:

+0

我沒有時間去試試這個代碼,也許你需要指定元素,例如'輸入[標識符= ...' –

+0

仍然似乎沒有爲我工作(無法找到css「輸入[標識符= \」檢查:NCO \「]」(水豚:: ElementNotFound))。 –

2

意識到這個問題相當老,答案可能仍然是有用的某個地方。我發現了以下工作:

find(:xpath, "//input[@identifier='my_checkbox_identifier']").set(true)