Ruby Capybara/Selenium-上应用程序的NS\u错误\u格式错误\u URIhttp://localhost
我试图设置RSpec、Capybara和Selenium来测试在传统localhost:80上运行的PHP应用程序。每当我运行套件时,Selenium都会失败并抱怨URI格式错误 这是我的spec_helper.rbRuby Capybara/Selenium-上应用程序的NS\u错误\u格式错误\u URIhttp://localhost,ruby,selenium,capybara,Ruby,Selenium,Capybara,我试图设置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.r
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)>'
感谢您的帮助。@andrykonchin说得对-切换回稳定工作状态如果bundler未安装,您需要安装它
gem install bundler
然后,您需要在根目录中创建一个名为gemfile的文件(对于我的简单示例,我只使用capybara,不使用rspec)
创建一个基本的ruby文件,如下所示
require 'bundler/setup'
require 'capybara/dsl'
Capybara.server_port = 80
Capybara.app_host = 'http://google.com'
Capybara.run_server = false
Capybara.default_driver = :selenium
class Browser
include Capybara::DSL
end
w = Browser.new
w.visit("/")
使用命令
bundle install
现在您将使用稳定版本的水豚
有关bundler的更多信息,请查看请查看Capybara的稳定版本。我有1.1.2,我不能重现这个错误。在我的版本capybara应用默认值(参见url方法)中,我使用的是1.1.2,我也遇到了同样的问题。啊,在我的例子中,我们使用的是不带斜杠的
访问“logout”
。当我把斜杠放进去时,例如visit”/logout“
,我们都很好。
require 'bundler/setup'
require 'capybara/dsl'
Capybara.server_port = 80
Capybara.app_host = 'http://google.com'
Capybara.run_server = false
Capybara.default_driver = :selenium
class Browser
include Capybara::DSL
end
w = Browser.new
w.visit("/")
bundle install