【发布时间】:2016-12-08 00:49:19
【问题描述】:
我的视图模板中有以下元素:<%= link_to_add_fields "Add event", f, :events %>
这会打开一组字段,这些字段本身由simple_fields_for 生成。这些字段在我的本地服务器上运行的浏览器中正确显示,所以这不是问题。
但是,我不知道如何让水豚到fill_in 那些领域。 capybara 在从link_to_add_fields 中单击Add event 按钮时不会引发错误,但是当我尝试填写表格时会引发错误,说它是Unable to find field。有什么猜测吗?
【问题讨论】:
-
您使用的是支持 JS 的驱动程序吗?显示您尝试用于填充的代码、您认为该代码应该填充的 html 以及您得到的确切错误 - stackoverflow.com/help/how-to-ask
-
@ThomasWalpole 抱歉,我应该结束这个问题。这也可能通过设置
:js => true来解决。但是,我无法验证这是否是问题所在,因为现在设置了:js => true我收到以下错误消息:Capybara::Webkit::InvalidResponseError: Unable to load URL: http://cms.eta.dev:5000/auth/identity because of error loading http://cms.eta.dev:5000/auth/identity: Unknown error尽管实现了 DatabaseCleaner。在确定这是否仍然是一个问题之前,我必须先解决这个问题。 -
@ThomasWalpole 确认:我正在使用 capybara WebKit
-
只有在设置了 js: true 时你才会使用 capybara-webkit - 否则你将使用 rack-test 根本不运行 JS 所以
link_to_add_fields运行的 JS 永远不会发生并且这些字段将不存在可以填写。所以,是的,一旦你让一个支持 JS 的驱动程序工作,它可能会被修复。
标签: ruby-on-rails-4 capybara simple-form rspec-rails