用Cucumber搜索html头中的von字符串

用Cucumber搜索html头中的von字符串,cucumber,watir,meta-tags,watir-webdriver,Cucumber,Watir,Meta Tags,Watir Webdriver,我想知道如何用cucumber检查HTML文档的头部是否存在特定字符串。 实际上,我对特定的机器人指令感兴趣,所以我在第一步中启动了一个浏览器(atm Firefox)并打开了一个本地站点 在第二步中,我检查整个html代码中的字符串: @b.html.include?('<meta name="robots" content="noindex, follow">').should == true 但只要我检查一下 @b.html.include?('<meta name="

我想知道如何用cucumber检查HTML文档的头部是否存在特定字符串。 实际上,我对特定的机器人指令感兴趣,所以我在第一步中启动了一个浏览器(atm Firefox)并打开了一个本地站点

在第二步中,我检查整个html代码中的字符串:

@b.html.include?('<meta name="robots" content="noindex, follow">').should == true
但只要我检查一下

@b.html.include?('<meta name="robots"').should == true
我又收到一封假信

所以,我认为空格的存在导致了这种行为。 只带额外空格的快速检查

@b.html.include?(' name="robots"').should == true
测试场景是绿色的

在文档正文中搜索整个句子

@b.html.include?('<h1>Yarr, that "is" supeb!</h1>').should == true
@b.html.include?('Yarr,即“supeb!”)。应==true
也在过去

我还尝试将h1标题移动到文档的头部(测试仍然通过),将meta标记移动到正文中(测试仍然失败)

我正在使用cucumber 1.2.0和ruby 1.9.3p0,通过watir webdriver驱动Firefox,不知道我是否做错了什么。 事实上,我只有一个简单步骤的功能,一个包含元数据的最小html站点和一个“Yarr”句子。没有栏杆,就没有耙子。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>

家
亚尔,那“是”太棒了!

问题:

似乎HTML标记的属性并不总是按照它们编写的顺序。见此:

puts @b.html
#=> <!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml"><head>
    <title>Home</title>
    <meta charset="utf-8" />
    <link href="/public/stylesheets/main.css" media="screen" rel="stylesheet" />
    <link href="/public/images/favicon.png" type="image/png" rel="shortcut icon" />
    <script charset="utf-8" type="text/javascript" src="/public/javascripts/jquery-1.6.4.min.js"></script>
    <link href="google.de" rel="canonical" />
    <meta content="noindex, follow" name="robots" />
  </head>
<body>
    <h1>Yarr, that "ist" superb!</h1>

</body></html>

你能提供网页的HTML吗?还有,你用什么来驱动Firefox浏览器?我已经在我的问题中添加了HTML。我正在使用watir webdriver 0.5.8。非常感谢。您建议的代码段按预期工作。
<!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>
puts @b.html
#=> <!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml"><head>
    <title>Home</title>
    <meta charset="utf-8" />
    <link href="/public/stylesheets/main.css" media="screen" rel="stylesheet" />
    <link href="/public/images/favicon.png" type="image/png" rel="shortcut icon" />
    <script charset="utf-8" type="text/javascript" src="/public/javascripts/jquery-1.6.4.min.js"></script>
    <link href="google.de" rel="canonical" />
    <meta content="noindex, follow" name="robots" />
  </head>
<body>
    <h1>Yarr, that "ist" superb!</h1>

</body></html>
b.head.meta(:name => 'robots', :content => 'noindex, follow').exists?.should == true