我正在尝试与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。
答案 0 :(得分:3)
您可能想尝试从gemfile中删除webrat。我相信webrat和capybara都试图在请求目录中运行测试。