Capybara:如何测试页面的样式表?

Ram*_*yag 5 ruby-on-rails capybara

我希望有能力的测试正确的样式表的交换在我的测试套件.有了这篇关于使用Capybara测试页面标题的帖子,我想我可以在页面linkhead部分测试任何标签.但似乎我错了.

这样的步骤:

save_and_open_page
page.should have_xpath("//link") # just something as simple as this, first.
Run Code Online (Sandbox Code Playgroud)

save_and_open_page 生成这样的HTML(为简洁起见,删除了一些内容):

<head>
  ...
  <link href="/home/ramon/source/unstilted/public/system_test/stylesheets/fancake/css/2.css?1323572998" type="text/css" class="jquery-styler" rel="stylesheet">
  ...
</head>
Run Code Online (Sandbox Code Playgroud)

但我得到了这个失败:

expected xpath "//link" to return something (RSpec::Expectations::ExpectationNotMetError)
Run Code Online (Sandbox Code Playgroud)

鉴于这一切,我如何测试样式表

谢谢!

Sam*_*ing 4

如果你想检查页面上是否存在CSS文件,那么你可以执行以下操作:

page.should have_xpath("//link[contains(@href, 'style.css')]")
Run Code Online (Sandbox Code Playgroud)

这将检查是否存在该属性包含的任何<link>元素。关于“预期 xpath 返回某些内容”的错误意味着您提供的 XPath 实际上并不存在 - 为什么它会这样认为,我不确定,因为您在提供的 HTML 中有一个完全有效的标签。hrefstyle.css<link>