Rspec + capybara请求规格:使用隐形按钮测试表单提交:使按钮不可见的最佳方法?

时间:2012-07-27 00:51:41

标签: ruby-on-rails capybara

我的应用上有一个单文本表单。我不想要一个可见的提交按钮(用户必须点击“输入”才能提交)。我知道你仍然希望那里的按钮可以访问,所以我把它移到屏幕外。

我正在和Capybara一起测试。当我click_on my-button时,它会给我这个错误:

Failure/Error: click_on "gimme-your-cc"
 Selenium::WebDriver::Error::MoveTargetOutOfBoundsError:
   Element cannot be scrolled into view:[object HTMLInputElement]

该特定规范在js: true块内完成,因此它使用webdriver和firefox。

有没有一种方法可以测试提交该按钮?使它成为按钮display:hidden也不起作用,我认为解决方案无论如何都不是很容易获得。

1 个答案:

答案 0 :(得分:2)

一个好的方法是使用javascript:

page.execute_script("$('#submit_id').click();")