我有一个黄瓜测试套件,我想在 Internet Explorer 环境中运行问题是我在一台 linux 机器上。所以我试着遵循这个有点过时的指南。
我正在使用本地 VM 来尝试运行测试,并在那里启动了独立的 selenium 服务器,它告诉我:
RemoteWebDriver instances should connect to: http://127.0.0.1:4444/wb/hub
现在这似乎有点奇怪,我在这里有 localhost 作为连接,但无论它在同一台物理机器上,所以应该没有问题还是?
好吧,接下来我env.rb
定义了以下内容:
Capybara.app_host = "http://hostname:4444"
Capybara.default_driver = :selenium
Capybara.register_driver :selenium do |app|
Capybara::Selenium::Driver.new(app,
:browser => :remote,
:url => "http://MYNETWORKIP:4444/wd/hub",
:desired_capabilities => :internet_explorer)
end
正如指南所建议的那样。但是当我运行测试时,出现以下错误:
bad URI(is not URI?): 127.0.0.1:4444/wd/hub (URI::InvalidURIError)
我怀疑这与我使用代理有关,因为我需要为 Firefox(iceweasel) 进行一些特殊设置才能运行。这些设置是:
Capybara.register_driver :selenium do |app|
profile = Selenium::WebDriver::Firefox::Profile.new
profile["network.proxy.type"] = 2
profile["network.proxy.autoconfig_url"] = "http config adress here"
profile["network.proxy.no_proxies_on"] = "localhost, 127.0.0.1, #{%x[hostname].gsub("\n", "")}"
profile["network.proxy.http"] = "proxy http address here"
profile["network.proxy.http_port"] = 3128
profile["network.proxy.ssl"] = "ssl proxy http address here"
profile["network.proxy.ssl_port"] = 3128
profile["network.proxy.share_proxy_settings"] = true
Capybara::Selenium::Driver.new(app, :profile => profile)
end
花了很多时间试图让它现在工作,所以我需要一些帮助提前谢谢
编辑:
意识到某些版本可能会有所帮助。从gemfile:
cucumber (1.1.9)
rails (2.3.11)
selenium-webdriver (2.20.0)
编辑2:
进一步尝试将 url 更改为我的网络 ip 地址给了我另一个错误:
both URI are relative (URI::BadURIError)
编辑 3:
现在在 Jon MI 的帮助下走得更远,但遇到了:
unexpected response, code=404, content-type="text/html"
编辑4:
最近更新:
更改了我的连接设置env.rb
这让我可以连接到我的 virtualbox 并启动我的 IE 浏览器 YAY!但!它无法连接到应用程序。