2014-09-26 158 views
0

如何在Capybara的Class: Capybara::Node::Element中使用實例方法checked?? 我沒有得到任何有關它的用法的正確文件! 我們可以使用檢查和如下取消:使用檢查?在水豚

page.check('some_text') 
page.uncheck('some_text') 

page.checked?('some_text')拋出錯誤。我想使用檢查?方法本身來驗證是否設置了複選框。我怎樣才能做到這一點?

回答

1

checked?方法可用於Capybara :: Node :: Element。 page是一個Capybara :: Session對象,這就是爲什麼你得到一個未定義的方法錯誤。

要使用checked?,您需要使用findfind_field,得到checkbox元素等

我假定頁面的HTML是一樣的東西:

<html> 
    <body> 
    <input id="box" type="checkbox"> 
    <label for="box">some_text</label> 
    </body> 
</html> 

你可以得到的複選框作爲水豚::節點::元件中,通過使用:

page.find_field('some_text') 

checked?方法可以在物鏡中使用ect由finder返回:

page.check('some_text') 
p page.find_field('some_text').checked? 
#=> true 

page.uncheck('some_text') 
p page.find_field('some_text').checked? 
#=> false 
+0

完美!使用find_field和標籤文本我能夠得到是否複選框被選中或不是:) – 2014-10-06 10:55:43