我正在尝试仅使用 Capybara 和 Rspec(没有 Cucumber 或 Selenium,我知道已经有一个问题)提交没有按钮的表单。
我看到有一个要点来添加一个提交没有按钮的表单的方法:
module SubmitRackTestFormWithoutButton
def submit_form!
Capybara::RackTest::Form.new(driver, form).submit({})
end
end
Capybara::RackTest::Node.send :include, SubmitRackTestFormWithoutButton
https://gist.github.com/989533 ,但我还没有让它工作,我就它发表了评论:
I get undefined method `submit_form!' for #Capybara::Node::Element:... actually by "Capybara::RackTest::Node.send :include, SubmitRackTestFormWithoutButton" the method submit_form! is added to the Node (not to the Element), but find return an Element
您是否有一些想法来解决这个要点,或者是否有其他解决方案来提交没有按钮的表单?
谢谢
最佳答案
您的所有生产代码都应该是可测试的,因此如果您添加仅供测试使用的代码,那么测试将毫无意义...
尝试这样做:
page.execute_script("$('form#your-form').submit()")
关于ruby-on-rails - Capybara - 提交没有按钮的表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8757477/