I can get other capybara methods like visit, fill_in, select etc.. to work. but not click
我可以得到其他的水豚方法,如访问,fill_in,选择等..工作。但不是点击
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
error:
错误:
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'
2 个解决方案
#1
23
Capybara's DSL changed. Use click_on
instead of click, if you don't know if it's a link or a button now.
Capybara的DSL改变了。如果您现在不知道它是链接还是按钮,请使用click_on而不是单击。
https://github.com/jnicklas/capybara/blob/549e67336c712a1ef2119ce5ff64dbbc7542480f/lib/capybara/session.rb
#2
1
Perhaps you meant to use click_link?
也许你打算使用click_link?
When /^(?:|I )follow "([^"]*)"$/ do |link|
click_link(link)
end
There is also click_button
还有click_button
If neither of these suit your needs, then you can call click on an element.
如果这些都不适合您的需求,那么您可以调用点击元素。
When /^(?:|I )click "([^"]*)" span$/ do |selector|
element ||= find('span', :text => selector)
element.click
end
If none of the above is helpful, then here are a list of all the click methods, if you identify the one you wish to use, I may be able to assist further.
如果以上都不是有用的,那么这里是所有点击方法的列表,如果你确定了你想要使用的方法,我可以进一步提供帮助。
http://rubydoc.info/search/github/jnicklas/capybara/master?q=click
http://rubydoc.info/search/github/jnicklas/capybara/master?q=click
#1
23
Capybara's DSL changed. Use click_on
instead of click, if you don't know if it's a link or a button now.
Capybara的DSL改变了。如果您现在不知道它是链接还是按钮,请使用click_on而不是单击。
https://github.com/jnicklas/capybara/blob/549e67336c712a1ef2119ce5ff64dbbc7542480f/lib/capybara/session.rb
#2
1
Perhaps you meant to use click_link?
也许你打算使用click_link?
When /^(?:|I )follow "([^"]*)"$/ do |link|
click_link(link)
end
There is also click_button
还有click_button
If neither of these suit your needs, then you can call click on an element.
如果这些都不适合您的需求,那么您可以调用点击元素。
When /^(?:|I )click "([^"]*)" span$/ do |selector|
element ||= find('span', :text => selector)
element.click
end
If none of the above is helpful, then here are a list of all the click methods, if you identify the one you wish to use, I may be able to assist further.
如果以上都不是有用的,那么这里是所有点击方法的列表,如果你确定了你想要使用的方法,我可以进一步提供帮助。
http://rubydoc.info/search/github/jnicklas/capybara/master?q=click
http://rubydoc.info/search/github/jnicklas/capybara/master?q=click