1

我遇到了水豚/黄瓜/硒/rspec最奇怪的问题。

我无法通过文本与水豚匹配任何选择器。一个例子是:

page.should have_selector('h2', :text=>'Thank you')

该页面是一个平面 html,标记是:

<html>
<body>
<h2>Thank you</h2>
</body>
</html>

所以我尝试输出那个 h2 标签的文本,以防我做错了什么。

puts "text: "+page.find('h2').text

令我惊讶的是,这就是终端所说的:

output: text: y

我开始使用文本,然后将页面的标记更改为:

<html>
<body>
<h2>abcdefghijklmnopqrstuvwxyz</h2>
</body>
</html>

现在终端给了我:

puts "text: "+page.find('h2').text
output: text: vwxyz

h2 有什么文本并不重要,它只接收字符 vwxyz、空格和斜杠 (/)!它完全忽略所有其他字符,包括大写字母 VWXYZ。我所有的断言都失败了。

这是我的宝石版本:

$ gem --version
1.8.25

这是宝石清单:

builder (3.1.4)
capybara (2.0.2)
childprocess (0.3.6)
commonwatir (4.0.0)
cucumber (1.2.1)
cucumber-rails (1.3.0)
diff-lcs (1.2.0, 1.1.3)
ffi (1.3.1)
gherkin (2.11.5)
jammit (0.6.5)
json (1.7.6)
mime-types (1.19)
multi_json (1.5.0)
nokogiri (1.5.6)
open4 (1.3.0)
Platform (0.4.0)
POpen4 (0.1.4)
rack (1.5.0)
rack-test (0.6.2)
rspec (2.12.0)
rspec-core (2.12.2)
rspec-expectations (2.12.1)
rspec-mocks (2.12.2)
rubygems-update (1.8.25)
rubyzip (0.9.9)
selenium-webdriver (2.29.0)
spreewald (0.3.10)
watir (4.0.2)
watir-webdriver (0.6.2)
websocket (1.0.6)
xpath (1.0.0)
yui-compressor (0.9.6)

任何帮助表示赞赏!

4

1 回答 1

0

在敲了很多次之后,我意识到我的 Ruby 版本是 1.8.7。这是一个很长的镜头,但我安装了 1.9,它现在可以工作了。我不知道 Ruby 1.8.7 和我使用的 gem 版本是否存在不兼容问题,或者安装是否错误,但这有效。

我对遇到黄瓜/水豚类似怪异的每个人的建议是确保所有宝石和相关软件都是最新的。

于 2013-01-29T16:46:54.030 回答