Joe*_*n29 5 rspec ruby-on-rails capybara
我使用capybara和rspec运行Rails 4(操作系统是Ubuntu 13.10).我遇到了问题 - 当我运行rspec我的规格工作时,包括使用capybara的fill_in方法的那些.但是在一个规范中,我需要使用capybara的find_field方法,它根本不起作用.它给了我以下错误:
Failure/Error: page.find_field('From:').set(Date.today - 1.month)
Capybara::ElementNotFound:
Unable to find field "From:"
Run Code Online (Sandbox Code Playgroud)
现在,我在page.find_field ...行之前插入了一个"puts page.html"行,它打印的html包含以下行:
<div class="date-range-picker">
<span class="from-date"><label for="from_date">From:</label> <input id="from_date" name="from_date" type="date" value="2013-12-23" /></span>
<span class="to-date"><label for="to_date">To:</label> <input id="to_date" name="to_date" type="date" value="2013-12-30" /></span>
</div>
Run Code Online (Sandbox Code Playgroud)
所以元素在那里,但是没有被find_field方法拾取.有任何想法吗?
好吧,经过多次蜿蜒Capybara的源文件,我发现了问题.#find_field使用时,该方法似乎无法正常工作Capybara-webkit.该方法仅在具有js:true参数的示例中失败,因此这应该是第一个线索.无论如何,似乎这是因为某些方法命名冲突capybara和之间的冲突capybara-webkit,但我没有太仔细地分析它,所以我不能确定.
我改变了find_field('from_date'),find('#from_date')现在一切正常.它也适用于更换为:rack_test驱动程序,但由于我需要webkit,我也会坚持.这个问题记录在哪里吗?
| 归档时间: |
|
| 查看次数: |
5885 次 |
| 最近记录: |