我无法访问以下网址“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)
Capybara不喜欢网址中的端口/主机。有什么想法可以解决这个问题吗?
答案 0 :(得分:0)
当您在本地运行时,不应设置Capybara.app_host。来自Capybara
通常,Capybara希望测试一个进程中的Rack 应用程序,但您也可以使用它与运行的Web服务器通信 在互联网上的任何地方,通过设置app_host:
Capybara.server_port = 10000
你可以设置 <%=((Recordset1.Fields.Item("FullCover").Value)*90/100)%>
。另外我认为server_port期望一个数字不是字符串。