3

我试图用Capybara编写集成测试,但每当Selenium控制的浏览器弹出时,页面都是空白的。此外,一个简单的断言像page.should have_selector('title'),我得到这样的错误水豚+ Rspec + Selenium:页面总是在浏览器中空白

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上,如果这很重要的话。

回答

3

你可能想尝试从你的gemfile中移除网页。我相信webrat和水豚都会尝试在请求目录中运行测试。

+0

奇数。我有另一个愉快地使用两个项目的项目。不同的版本,我猜。谢谢! – dantswain 2012-02-26 20:41:03