【发布时间】:2012-02-20 21:28:55
【问题描述】:
我正在尝试使用 Capybara 编写集成测试,但是每次 Selenium 控制的浏览器弹出时,页面都是空白的。此外,对于像page.should have_selector('title') 这样的简单断言,我会收到类似的错误
Failure/Error: page.should have_selector('title')
expected following output to contain a <title/> tag:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head></head>
<body></body>
</html>
即页面是空的。
我正在访问一条有效的路径。如果我执行save_and_open_page,页面就在那里。
Gemfile 的相关部分是
group :test, :development do
gem 'rspec-rails', '~> 2.4'
gem 'nokogiri'
gem 'webrat'
# capybara for javascript testing
gem 'capybara'
# launchy allows us to do save_and_launch_page, which is very helpful during testing
gem 'launchy'
end
该应用使用的是 Rails 3.1.1。我已经完成了bundle install 并添加了
require 'capybara/rails'
require 'capybara/rspec'
致我的spec_helper。
注意,这些是 集成 测试,而不是控制器测试 - 我没有错过 render_views。
我有其他应用程序可以正常工作,这让我觉得我的配置中缺少某些内容,或者正在使用的特定版本存在问题。
Selenium 正在尝试使用 Firefox,而我使用的是 OS X Snow Leopard,如果这很重要的话。
【问题讨论】:
标签: ruby-on-rails selenium integration-testing capybara rspec-rails