first()
可以按预期的版本2.15.0
进行操作,但是将cucumber 2.4.0
更新为3.1.2
后,这种方式就不再起作用了。
first()
,则 :minimum=>1
将起作用。如果我不考虑它,即使该元素在其中,它也会返回nil
。
first("div", :minimum=>1)
这是我们在gemfile.lock中的Capybara依赖项
水豚(2.15.0) 可寻址的 mini_mime(> = 0.1.3) nokogiri(> = 1.3.3) 机架(> = 1.0.0) 机架测试(> = 0.5.4) xpath(〜> 2.0)
答案 0 :(得分:2)
如Capybara Upgrading.md-https://github.com/teamcapybara/capybara/blob/master/UPGRADING.md#finders中所述-在水豚2.x和3.x之间更改first
的行为-如果{x1}在2.x中立即返回nil调用该方法时,元素并不立即存在。在3.x中,它将等待至少一个匹配元素存在。听起来好像您已更新的一个库中预期的是Capybara 3.x的行为,所以请查看升级黄瓜时还进行了其他更新(如果也使用first
,则可以使用?)