HTMLドキュメントの先頭で、キュウリを含む特定の文字列が存在するかどうかを確認するにはどうすればよいでしょうか。実際、私は特定のロボットディレクティブに興味があるので、最初のステップでブラウザー(atm Firefox)を起動し、ローカルサイトを開きます。
2番目のステップでは、htmlコード全体で文字列を確認します。
@b.html.include?('<meta name="robots" content="noindex, follow">').should == true
そして、私のシナリオが2番目のステップで失敗するのを見てください。(trueが期待され、falseになりました)驚くべきことに、部分的な文字列のチェックは成功しました。
@b.html.include?('name="robots"').should == true
しかし、私がチェックするとすぐに
@b.html.include?('<meta name="robots"').should == true
あるいは単に
@b.html.include?('a name="robots"').should == true
私は再び偽りを得る。
したがって、空白の存在がこの動作を引き起こすと思いました。ボーナス空白のみのクイックチェック
@b.html.include?(' name="robots"').should == true
テストシナリオは緑色です。
ドキュメント本文での全文の検索
@b.html.include?('<h1>Yarr, that "is" supeb!</h1>').should == true
も通過しています。
また、h1の見出しをドキュメントの先頭に移動し(テストはまだ合格)、メタタグを本文に移動しようとしました(テストはまだ失敗しています)
私は、Firefoxでwatir-webdriverを介して駆動されるcucumber1.2.0とruby1.9.3p0を使用していて、何か間違ったことをしているのではないかと思っています。実際、私には、この簡単な手順と、メタデータとこの1つの「Yarr」文を含む最小限のhtmlサイトを備えた機能が1つだけあります。レールもレーキもありません。OSX10.7もっと情報を提供する必要があるかどうか教えてください…私は何時間もこのようなものをいじっています。
Edit1:チェックしたサイトのHTMLを追加しました。
<!DOCTYPE html>
<html>
<head>
<title>Home</title>
<meta charset="utf-8">
<link rel="stylesheet" media="screen" href="/public/stylesheets/main.css">
<link rel="shortcut icon" type="image/png" href="/public/images/favicon.png">
<script src="/public/javascripts/jquery-1.6.4.min.js" type="text/javascript" charset="utf-8"></script>
<link rel="canonical" href="google.de">
<meta name="robots" content="noindex, follow">
</head>
<body>
<h1>Yarr, that "ist" superb!</h1>
</body>
</html>