Rails, огурец, капибара - шаг огурца не может нажать кнопку - PullRequest
1 голос
/ 09 января 2012

Запуск последних сборок Rails, Cucumber и Capybara Я застреваю, когда Capybara нужно нажать кнопку.Я попытался устранить все проблемы и убедился, что форма генерируется и отображается правильно.

Я получаю 2 ошибки: A) Если я пытаюсь нажать кнопку с правильным идентификатором или текстовым значением ('commit ') B) Если я попытаюсь нажать кнопку с совершенно неверным идентификатором или текстовым значением (' cxxxommit ')

, я могу воспроизвести эти ошибки как в Ubuntu, так и в Windows 7.

Ошибки:

Опция A

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'

Опция B

 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'

Версии :

ruby ​​1.9.2p290 (2011-07-09) [i386-mingw32]

Rails 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

Обратите внимание, что я прочитал и попытался выполнить следующее сообщение SO Ошибка огурца press button (Capybara :: ElementNotFound)

Список используемых драгоценных камней

Буду признателен за любую помощь или направление.

Спасибо

Ответы [ 2 ]

0 голосов
/ 20 марта 2018

Вы можете просто написать шаг как

When(/^Click button with value "([^"]*)"$/) do |value|
   #click_link_or_button btn_text
   find_button(value).click
end
0 голосов
/ 09 января 2012

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

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"
...