2014-09-26 3 views
0

Как использовать метод экземпляра checked? в Capybara's Class: Capybara::Node::Element? Я не получил правильной документации по ее использованию! мы можем использовать проверку и снимите флажок, как показано ниже:Использование проверенных? в Capybara

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

но page.checked?('some_text') бросает ошибку. Я хочу использовать проверенный? чтобы проверить, установлен ли флажок. Как я могу это достичь?

ответ

1

Метод checked? доступен для Capybara :: Node :: Element. page - объект Capybara :: Session, поэтому вы получаете неопределенную ошибку метода.

checked? Для использования необходимо получить флажок элемент, используя find, find_field и т.д.

Я предполагаю, что HTML страницы есть что-то вроде:

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

Вы можете получить флажок , как Капибара :: Node :: элемент, с помощью:

page.find_field('some_text') 

checked? метод может быть использован на OBJ ect, возвращаемого поиском:

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

Perfect !! используя find_field и текст ярлыка, я смог получить, установлен ли флажок или нет :) –

Смежные вопросы