gpt4 book ai didi

ruby-on-rails - Rspec Capybara 发现字段不起作用

转载 作者:行者123 更新时间:2023-12-04 17:22:07 24 4
gpt4 key购买 nike

我正在使用 capybara 和 rspec(操作系统是 Ubuntu 13.10)运行 Rails 4。我遇到了一个问题——当我运行 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:"

现在,我在 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>

所以元素在那里,但没有被 find_field 方法拾取。有任何想法吗?

最佳答案

好的,经过 Capybara的源文件我发现了问题。看来#find_field使用 Capybara-webkit 时方法无法正常工作.该方法仅在具有 js: true 参数的示例上失败,因此这应该是第一个线索。无论如何,这似乎是 capybara 之间的一些方法命名冲突的原因。和 capybara-webkit ,但我没有分析得太仔细,所以我不能确定。

我换了find_field('from_date')find('#from_date')现在一切正常。它在更改为 :rack_test 时也有效。驱动程序,但因为我需要 webkit,所以我也会坚持。这个问题有记录在任何地方吗??

关于ruby-on-rails - Rspec Capybara 发现字段不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20845054/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com