Задать вопрос

Capybara: почему не работает опция :visible?

Помогите разобраться, почему Capybara всегда находит поле email вне зависимости от значения visible.
Есть страница с таким вот полем на форме:

<label>
  <input type="email" name="email" class="hide" placeholder="Email">
</label>


Это класс .hide
.hide {
    display: none !important;
}


Когда я тестирую страницу с помощью Capybara с драйвером Poltergeist, то делаю очень простую проверку:
<br>
page.must_have_field('email', :type => 'email', :visible => false)<br>
check('Send by email')<br>
page.must_have_field('email', :type => 'email', :visible => true)<br>


Так вот тест проходит, несмотря на то, что код для переключения видимости поля отсутствует, т.е. оно всегда скрыто.
  • Вопрос задан
  • 178 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
@belokopytoff Автор вопроса
Ошибка была в том, что я неправильно настроил драйвер для Capybara.

Вместо
Capybara.default_driver = :poltergeist
У меня было
Capybara.javascript_driver = :poltergeist
Поучилось, что я работал с дефолтным драйвером, который неправильно ищет скрытые элементы.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
OTKLIK POWER Москва
от 80 000 до 150 000 ₽
Netwrk Буэнос-Айрес
от 5 000 до 7 500 $
от 6 000 до 8 000 $