Мне нужно проверить в Capybara, если на странице есть текстовое поле ввода и доступно для просмотра. Я знаю, как проверять видимость, но я не мог найти такой метод, как .clickable
или что-то в этом духе. Как это делается в Капибаре?Как проверить в Capybara, если элемент можно щелкнуть?
ответ
Полагая это как ответ, из комментариев по оригинальному вопросу.
Вам не нужно проверять возможность клики (при получении поля ввода при мигании), потому что я думаю, что это зависит от браузера. Вам не нужно ничего делать, чтобы получить эту функциональность. Поэтому, если это видно, и поле ввода, нажатие на него получит этот результат. В противном случае, если это не видно, его нельзя нажать, так что все в порядке. Я не думаю, что вам нужно что-то проверять на кликабельность, просто наглядность.
Элемент может быть «видимым» без нажатия. Я на самом деле работаю над поиском обходного пути для выбора кнопки, которая находится за непрозрачной прокладкой. Я хочу, чтобы иметь возможность сказать что-то вроде:
if find_button("Change Location").visible?
click it
else
something else
end
Я не нашел ответа на этот, который не является Hacky обходной так что любой совет поможет. Вместо того, чтобы уволить вопрос
У меня такая же проблема, случается, когда появляется модальная мода, а остальная часть страницы становится непрозрачной, но все же видимой. Мое обходное решение улавливает повышенное исключение. Selenium :: UnknownError - не является кликабельным и возвращает логическое значение false, если я получаю исключение, true в противном случае. Я использую это только в том случае, если проверяю отрицательный is_not_clickable. – ibaralf
Похоже, что потребности OP были удовлетворены, но для будущих исследователей, вот некоторые инструменты, чтобы узнать, можно ли что-то щелкнуть.
Тест может ли быть нажата вещь (Rspec & & Капибара):
it "is clickable" do
expect{ find('.your_selector').click }
.not_to raise_error(Capybara::Poltergeist::MouseEventFailed)
end
it "isn't clickable" do
expect{ find('.your_selector').click }
.to raise_error(Capybara::Poltergeist::MouseEventFailed)
end
Нажмите, если это возможно, и сделать что-то еще, если нет, то в ответ Джо Susnick в:
clickable = expect{ find('.your_selector').click }.not_to raise_error(Capybara::Poltergeist::MouseEventFailed)
if clickable
plan_a
else
plan_b
end
- 1. Получить, если элемент можно щелкнуть или нет
- 2. Как щелкнуть элемент с переполнением: скрытый в огурце/capybara
- 3. Как проверить, если щелкнуть битману
- 4. Как быстро элемент можно дважды щелкнуть дважды?
- 5. элемент click, если он существует в capybara
- 6. Capybara - невозможно щелкнуть ссылку
- 7. Как щелкнуть элемент из выпадающего списка с capybara?
- 8. Как щелкнуть элемент при использовании Capybara для испытания
- 9. проверить, если есть класс и проверить, если щелкнуть
- 10. Как щелкнуть элемент, если тег отсутствует
- 11. Можно ли щелкнуть элемент N с помощью SitePrism?
- 12. Оверлей можно щелкнуть через элемент перед ним
- 13. Как я могу щелкнуть значок, используя capybara?
- 14. Как проверить Capybara?
- 15. Можно ли щелкнуть элемент контекстного меню jstree?
- 16. как проверить, если элемент включен
- 17. Разрешить ссылку можно щелкнуть, если установлен флажок
- 18. Как проверить, если элемент тега Концевой элемент
- 19. Как можно связать элемент, если элемент существует в массиве?
- 20. Скрыть элемент, если щелкнуть вне Угловое
- 21. Если щелкнуть один элемент, удалите другие предметы?
- 22. Если щелкнуть отмеченный элемент списка, снимите отметку
- 23. Как заблокировать событие click, если щелкнуть элемент в массиве?
- 24. Можно ли щелкнуть абсолютно позиционированный элемент psuedo в Protractor
- 25. Как проверить второй элемент с именем класса и щелкнуть его, если он существует в Selenium Java
- 26. Как проверить частичное с Capybara?
- 27. Android UX - как показать пользователю, что элемент списка можно щелкнуть?
- 28. Как проверить, если элемент оставлен в силе?
- 29. Можно ли удалить «Проверить элемент»?
- 30. Можно ли щелкнуть элемент с помощью phantomJS в транспортире?
Все кликабельна , Я могу взять мою мышь и нажать на все. Вопрос в том, что вы действительно пытаетесь проверить? Может быть, вы хотите протестировать, если у вас есть свой собственный класс «do-not-click» CSS? Может быть, вы хотите проверить это, если его щелкнули, он не подсвечивается? И т. Д. Это определит, как вы тестируете, если это - не кликабельно, - но если с ним можно взаимодействовать или нет, в пределах вашего приложения. – MrDanA
Мое намерение - проверить, что если я нажму на поле, курсор в нем начнет мигать. –
Я думаю, что это зависит от браузера. Вам не нужно ничего делать, чтобы получить эту функциональность. Поэтому, если это видно, и поле ввода, нажатие на него получит этот результат. В противном случае, если это не видно, его нельзя нажать, так что все в порядке. Я не думаю, что вам нужно что-то проверять на кликабельность, просто наглядность. – MrDanA