【发布时间】:2014-07-30 13:02:27
【问题描述】:
在 capybara 选择器运行之前,我使用 save_and_open_page 命令保存了以下 html(我也检查了 page.body,它是一样的):https://gist.github.com/davidkovaccs/8991af5bed1805277f52
我收到以下错误消息:'expected to find xpath "//div[@class='box']" 9 次,找到 6 个匹配项:"box_2001 attrkulcs1: attrvalue 1 attrkulcs2: attrvalue 2 attrkulcs3: attrvalue 3" , "box_2002 attrkulcs1: attrvalue 1 attrkulcs2: attrvalue 2 attrkulcs3: attrvalue 3 attrkulcs4: attrvalue 4", "box_2003", "box_1001", "box_1002 attrkulcs1: attrvalue 1 attrkulcs2: attrvalue 2 attrkulcs3: attrvalue 3", "attrkulcs3: attrvalue 3"1 1"。还找到了匹配选择器但不是所有过滤器的“”、“”、“”。 (Capybara::ExpectationNotMet)'
请注意,找到的 6 个匹配项并不是每次测试运行的 6 个。它是 4 到 9 之间的数字。 我真的不明白“匹配选择器但不是所有过滤器”语句可能是什么。据我所知,我没有使用任何过滤器。
我尝试了以下选择器,但它们都给出了相同的错误消息:
have_xpath("//div[@class='box']", :count => 9)
have_selector(:css, '.box', :count => 9)
have_css('.box', :count => 9)
我也用 capybara 2.2.1 和 2.3.0 试过了。我正在使用 Selenium webdriver 2.42.0
从浏览器控制台运行 $x("//div[@class='box']").length 效果很好。
【问题讨论】:
标签: ruby-on-rails selenium css-selectors cucumber capybara