使用检查?在水豚

时间:2014-09-26 09:27:23

标签: checkbox capybara

如何在Capybara checked?中使用实例方法Class: Capybara::Node::Element? 我没有得到任何适当的文件使用它! 我们可以使用check和uncheck,如下所示:

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

但是page.checked?('some_text')会引发错误。我想用托运?方法本身验证是否设置了复选框。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

Capybara :: Node :: Element可以使用checked?方法。 page是一个Capybara :: Session对象,这就是为什么你得到一个未定义的方法错误。

要使用checked?,您需要使用findfind_field等获取复选框元素。

我认为页面的HTML类似于:

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

您可以使用:

获取复选框,作为Capybara :: Node :: Element
page.find_field('some_text')

checked?方法可用于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