Cucumber/Capybara 测试在我访问 url 时返回 Addressable::URI::InvalidURIError
Cucumber/Capybara tests returning Addressable::URI::InvalidURIError when I visit url
我无法访问以下url“http://localhost:7000/login/next=”
在我的页面对象中,我设置了以下内容:
class LoginPage < SitePrism::Page
set_url "/login/next="
并且我在 env.rb 文件中设置了以下内容
Capybara.app_host = "http://localhost:7000"
Capybara.server_host = "localhost"
Capybara.server_port = "7000"
并要求满足以下条件:
require 'uri'
require 'net/http'
require 'open-uri'
当我 运行 测试它时得到以下结果
Cannot assemble URI string with ambiguous path: ':7000/login/next='(Addressable::URI::InvalidURIError)
水豚不喜欢 url 中的 port/host。请问谁有什么想法?
当您在本地 运行 时,您不应该设置 Capybara.app_host。来自 Capybara
Normally Capybara expects to be testing an in-process Rack
application, but you can also use it to talk to a web server running
anywhere on the internet, by setting app_host:
Capybara.current_driver = :selenium
Capybara.app_host = 'http://www.google.com'
...
visit('/')
您只需设置 Capybara.server_port = 10000
就可以了。另外我认为 server_port 需要一个数字而不是字符串。
我无法访问以下url“http://localhost:7000/login/next=” 在我的页面对象中,我设置了以下内容:
class LoginPage < SitePrism::Page
set_url "/login/next="
并且我在 env.rb 文件中设置了以下内容
Capybara.app_host = "http://localhost:7000"
Capybara.server_host = "localhost"
Capybara.server_port = "7000"
并要求满足以下条件:
require 'uri'
require 'net/http'
require 'open-uri'
当我 运行 测试它时得到以下结果
Cannot assemble URI string with ambiguous path: ':7000/login/next='(Addressable::URI::InvalidURIError)
水豚不喜欢 url 中的 port/host。请问谁有什么想法?
当您在本地 运行 时,您不应该设置 Capybara.app_host。来自 Capybara
Normally Capybara expects to be testing an in-process Rack application, but you can also use it to talk to a web server running anywhere on the internet, by setting app_host:
Capybara.current_driver = :selenium Capybara.app_host = 'http://www.google.com' ... visit('/')
您只需设置 Capybara.server_port = 10000
就可以了。另外我认为 server_port 需要一个数字而不是字符串。