У меня есть страница формы с полем подтверждения для адреса электронной почты и пароля, как с надписью «Подтверждение». Это не удается при работе с RSpec, как и ожидалось. Если я сделаю этикетки уникальными, скажем, изменив метку электронной почты на «Подтверждение электронной почты», она пройдет. Я предпочел бы сохранить эти метки одинаковыми. Если я использую идентификатор электронной почты, сгенерированный form_for, Capybara кажется счастливым, но тест терпит неудачу. Я также попробовал имя с тем же результатом.Capybara не заполняет поля дублирующими ярлыками
RSpec/Капибара экстракт:
fill_in "company_contact_email_confirmation", with: "[email protected]"
form_for экстракт:
<div class="field">
<%= f.label :contact_email_confirmation, "Confirmation" %><br />
<%= f.email_field :contact_email_confirmation %>
</div>
Сформирован Источник: сообщение
<div class="field">
<label for="company_contact_email_confirmation">Confirmation</label><br>
<input id="company_contact_email_confirmation" name="company[contact_email_confirmation]" size="30" type="email">
</div>
Ошибка:
1) страницы компании подписаться с ва информация крышка должна создать компанию
Failure/Error: expect { click_button submit }.to change(Company, :count).by (1)
count should have been changed by 1, but was changed by 0
Если я использую Капибара within
, как было предложено в другом месте здесь, он по-прежнему не работает:
RSpec/водосвинку экстракт:
within ".email_stuff" do
fill_in "Confirmation", with: "[email protected]"
end
form_for экстракт :
<div class="email_stuff">
<div class="field">
<%= f.label :contact_email_confirmation, "Confirmation" %><br />
<%= f.email_field :contact_email_confirmation %>
</div>
</div>
Сгенерированный источник:
<div class="email_stuff">
<div class="field">
<label for="company_contact_email_confirmation">Confirmation</label><br />
<input id="company_contact_email_confirmation" name="company[contact_email_confirmation]" size="30" type="email" />
</div>
</div>
Capybara, похоже, не жалуется, но тест не срабатывает при той же ошибке. Как мне заставить Capybara позволить мне использовать одну и ту же метку дважды в одной и той же форме?
Только для теста, где вы определяете свой тест, добавьте это: «js => true», чтобы визуализировать, что происходит в браузере (появится страница) – cristian
У меня было много проблем с получением selenium-webdriver для запуска с Firefox. После долгих усилий (наконец, Firefox 10 и selenium-webdriver 2.20.0) я получаю страницу, которая появляется с «не может поддерживать безопасное соединение» или что-то подобное, а затем мгновенно закрывается. Затем тест заканчивается на Capybara :: ElementNotFound в первом поле fill_in, что неверно, потому что без дубликата метки тест проходит. –