如何在Capybara checked?
中使用实例方法Class: Capybara::Node::Element
?
我没有得到任何适当的文件使用它!
我们可以使用check和uncheck,如下所示:
page.check('some_text')
page.uncheck('some_text')
但是page.checked?('some_text')
会引发错误。我想用托运?方法本身验证是否设置了复选框。我怎样才能做到这一点?
答案 0 :(得分:1)
Capybara :: Node :: Element可以使用checked?
方法。 page
是一个Capybara :: Session对象,这就是为什么你得到一个未定义的方法错误。
要使用checked?
,您需要使用find
,find_field
等获取复选框元素。
我认为页面的HTML类似于:
<html>
<body>
<input id="box" type="checkbox">
<label for="box">some_text</label>
</body>
</html>
您可以使用:
获取复选框,作为Capybara :: Node :: Elementpage.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