Ответ 1
Capybara DSL изменилась. Используйте click_on
вместо клика, если вы не знаете, есть ли ссылка или кнопка сейчас.
Я могу получить другие методы capybara, такие как visit, fill_in, select и т.д. для работы. но не нажмите
Given /^a no fee license called "([^"]*)"$/ do |arg1|
@l = FactoryGirl.create(:license,
name: arg1)
end
When /^execute the license$/ do
visit(license_path(@l))
click('Execute License')
end
Ошибка:
Scenario: no fee license is executed # features/visitor_no_fee_license.feature:14
When I fill out the licensee info with valid info # features/step_definitions/licenses_steps.rb:21
And execute the license # features/step_definitions/licenses_steps.rb:35
undefined method `click' for #<Cucumber::Rails::World:0x007feebad4dec8> (NoMethodError)
./features/step_definitions/licenses_steps.rb:37:in `/^execute the license$/'
features/visitor_no_fee_license.feature:16:in `And execute the license'
Capybara DSL изменилась. Используйте click_on
вместо клика, если вы не знаете, есть ли ссылка или кнопка сейчас.
Возможно, вы хотели использовать click_link?
When /^(?:|I )follow "([^"]*)"$/ do |link|
click_link(link)
end
Существует также click_button
Если ни один из них не соответствует вашим потребностям, вы можете вызвать click для элемента.
When /^(?:|I )click "([^"]*)" span$/ do |selector|
element ||= find('span', :text => selector)
element.click
end
Если ни одно из вышеперечисленных вопросов не является полезным, вот список всех методов щелчка, если вы идентифицируете тот, который хотите использовать, я могу помочь в дальнейшем.
http://rubydoc.info/search/github/jnicklas/capybara/master?q=click