2012-01-09 2 views
1

Запуск последних сборников рельсов, огурцов и капибара Я застреваю, когда 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)

List of gems in use

Любая помощь или направление было бы весьма признателен.

Благодаря

+0

Здесь есть несколько несоответствий. Ваш сценарий предназначен для Item, а не для Quote. Кроме того, ваше сообщение об ошибке говорит, что он не может найти «cxxxommit», когда код шага, который вы нам дали, говорит «commit». Кроме того, у вас есть два «варианта» для сообщений об ошибках? Вы не показали нам, какой код приводит к сообщению об ошибке. Пожалуйста, отредактируйте вопрос и исправьте эти вещи, и предпочтительно покажите нам один минимальный сценарий неудачи. –

+0

@MarkThomas: Благодарим вас за обратную связь. Я обновил вопрос, чтобы отразить оригинальный вопрос, работая в разных проектах, разбивает мой мозг. –

+0

Как выглядит HTML-код? Является ли это элементом ввода или действием javascript? –

ответ

0

вы можете мне сказать, что пункт в следующий код? Я предполагаю, что это должно быть Цитата

Scenario: Create a complete manual entered quote for a client 
    When I select the XXX as YYY   
    And I save the Item 
    Then I should see "Item was successfully created" 
+0

100% правильный. Спасибо за отзыв, пожалуйста, просмотрите обновленное сообщение. –