2014-09-26 161 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