我正在尝试设置 RSpec、Capybara 和 Selenium 来测试在传统 localhost:80 上运行的 PHP 应用程序。每当我运行该套件时,Selenium 都会失败并抱怨 URI 格式错误。
这是我的 spec_helper.rb。
require 'bundler/setup'
require 'rspec'
require 'capybara/rspec'
Capybara.server_port = 80
Capybara.app_host = 'http://localhost'
Capybara.run_server = false
Capybara.default_driver = :selenium
这是我唯一的规格:
require File.dirname(__FILE__) + '/../spec_helper'
describe "visting the website", :type => :request do
it "should display an html page" do
visit ( '/' )
page.should have_selector( 'html' )
end
end
但它保释了。我错过了什么?
Failures:
1) visting the website should display an html page
Failure/Error: visit ( '/' )
Selenium::WebDriver::Error::UnknownError:
Component returned failure code: 0x804b000a (NS_ERROR_MALFORMED_URI) [nsIIOService.newURI]
# ./spec/requests/sign_in_spec.rb:6:in `block (2 levels) in <top (required)>'
我的 URI 对我来说看起来并没有格式错误……visit
如果我传入 'http://localhost' 就可以了,但这并不理想。
这是我的 Gemfile
gem 'rspec'
gem 'capybara', :git => 'https://github.com/jnicklas/capybara.git'
gem 'launchy'
gem 'ruby-debug19'
谢谢你的帮助。