水豚 nested_form Poltergeist 选择动作

Capybara nested_form Poltergeist select action

提问人:Rahul 提问时间:12/13/2012 更新时间:12/13/2012 访问量:960

问:

我正在使用梦幻般的 nested_form gem 来处理我的嵌套属性,它非常有效。

当我尝试使用带有 Poltergeist 的 Capybara/rspec 作为驱动程序在我的嵌套表单的选择字段上运行一些集成测试时,会出现我的问题。

我的测试如下。

click_on "Add Field"    
find('input:last').set "Employee Code"   
find('select:last').select "Word"

我在 rspec 中出现以下错误

Failure/Error: find('select:last').select "Word"
 Capybara::Poltergeist::ObsoleteNode:
   Capybara::Poltergeist::ObsoleteNode

当我在尝试查找“select:last”之前打印 html 内容时,我能够看到正确的 html。粘贴在下面。

<input class="string required" id="source_model_attributes_attributes_1355377152026_field_name" label="Field Name" name="source[model_attributes_attributes][1355377152026][field_name]" placeholder="Field Name" size="50" type="text">
<select class="select required" id="source_model_attributes_attributes_1355377152026_field_type" label="Field Type" name="source[model_attributes_attributes][1355377152026][field_type]" prompt="Select Field Type">
<option value="">Select Field Type</option>
<option value="Word">Word</option>
<option value="Number">Number</option>
<option value="True or False">True or False</option>
<option value="Date &amp; Time">Date &amp; Time</option>
<option value="Date">Date</option>
<option value="Time">Time</option></select>

我使用的是 find,而不是 fill_in因为我的 html 是动态生成的,时间戳附加到 id 和 name 字段。

可能还值得一提的是,我对 Capybara 的选择动作运气不佳,我试图像这样使用。

select "Word", from: "Field Type"

失败并出现以下错误。

Failure/Error: select "Word", from: "Field Type"
 Capybara::ElementNotFound:
   cannot select option, no select box with id, name, or label 'Field Type' found

由于某种原因,水豚无法找到标签,可能是因为它隐藏在实际形式中。

选择 rspec capybara 嵌套形式 poltergeist

评论

0赞 deivid 9/19/2013
我现在遇到了完全相同的问题......你设法解决了这个问题吗?
0赞 deivid 9/19/2013
第一个线索,它与恶作剧无关,因为我仍然拥有其他 javascript 驱动程序。似乎是水豚的问题。.
0赞 Rahul 9/19/2013
对不起,这是很久以前的事了。甚至不记得报告过:)
0赞 katzmopolitan 8/5/2014
我遇到了同样的问题,这似乎与标签中的空格有关

答: 暂无答案