カピバラ/キュウリ/セレン/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)
どんな助けでも大歓迎です!