Запуск последних сборников рельсов, огурцов и капибара Я застреваю, когда Capybara нужно нажать кнопку. Я попытался устранить все проблемы и удостоверился, что форма сформирована и отображена правильно.Рельсы, огурцы, Capybara - шаг огурца не может нажимать кнопку
Я получаю 2 ошибки: А) Если я пытаюсь нажать на кнопку с правильным идентификатором или текстовым значением («совершить») B) Если я пытаюсь нажать на кнопку с совершенно неверным идентификатором или текстовым значением ('cxxxommit')
я могу воспроизвести эти ошибки как на Ubuntu и Windows, 7.
ошибки:
Вариант а
And I save the Quote
undefined method `name' for nil:NilClass (ActionView::Template::Error)
C:/Ruby192/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/whiny_nil.rb:48:in `method_missing'
Вариант Б
And I save the Quote
no button with value or id or text 'cxxxommit' found (Capybara::ElementNotFound)
(eval):2:in `click_button'
./features/step_definitions/quote_steps.rb:63:in `/^I save the Quote$/'
features\interactions\policies\quotes.feature:22:in `And I save the Quote'
Версии:
рубин 1.9.2p290 (2011-07-09) [i386-mingw32]
Рельсы 3.1.3
Сценарий
Scenario: Create a complete manual entered quote for a client
When I select the XXX as YYY
And I save the Quote
Then I should see "Policy was successfully created"
Шаги
When /^I select the (.*) as (.*)$/ do |field, value|
select(value, :from => field)
end
When /^I save the Quote$/ do
# debugger
click_button('commit')
# ================================================
# The next line causes the second error
# click_button('cxxxommit')
# ================================================
# find_button('commit').click
end
Пожалуйста, обратите внимание, что я прочитал и попытался следующее ТАК опубликовать Cucumber press button
failure (Capybara::ElementNotFound)
Любая помощь или направление было бы весьма признателен.
Благодаря
Здесь есть несколько несоответствий. Ваш сценарий предназначен для Item, а не для Quote. Кроме того, ваше сообщение об ошибке говорит, что он не может найти «cxxxommit», когда код шага, который вы нам дали, говорит «commit». Кроме того, у вас есть два «варианта» для сообщений об ошибках? Вы не показали нам, какой код приводит к сообщению об ошибке. Пожалуйста, отредактируйте вопрос и исправьте эти вещи, и предпочтительно покажите нам один минимальный сценарий неудачи. –
@MarkThomas: Благодарим вас за обратную связь. Я обновил вопрос, чтобы отразить оригинальный вопрос, работая в разных проектах, разбивает мой мозг. –
Как выглядит HTML-код? Является ли это элементом ввода или действием javascript? –