在使用Poltergeist/黄瓜时遇到了一个非常烦人的问题。当尝试使用重定向导航到任何页面时(例如,我们的应用程序可以立即重定向登录),Poltergeist和PhantomJS只是坚持“加载.”。屏幕,永远不要跟随重定向。
我只是通过点击登录页面重定向URL本身来验证这一点,并且页面加载得很好,并且我能够与它交互,但是每当有另一个重定向发生时,无论多小,Poltergeist和PhantomJS都会再次坚持。下面是我的env.rb文件,我正在使用的配置。如果我将“--忽略-ssl-错误”切换为false,则页面只会显示“约:空白”,因此该选项正在执行某些操作。
任何可能有解决方案的人都将是我的英雄,因为这是我们在为我们的系统完全实现CI之前遇到的最后一步。
require "Capybara"
require "Capybara/cucumber"
require "rspec"
require 'capybara/poltergeist'
Capybara.default_driver = :poltergeist
Capybara.register_driver :poltergeist do |app|
options = {
:js_errors => false,
:timeout => 120,
:debug => false,
:phantomjs_options => ['--load-images=no', '--disk-cache=false', '--ignore-ssl-errors=yes'],
:inspector => true,
}
Capybara::Poltergeist::Driver.new(app, options)
end
Capybara.configure do |config|
config.javascript_driver = :poltergeist
config.app_host = "*our webpage*"
config.run_server = false
config.default_wait_time = 30
end还有我的宝石清单。如果这有帮助的话,我在Windows 7上使用版本1.9.2的PhantomJS for Windows 7二进制文件。
bigdecimal (1.2.0)
builder (3.2.2)
bundler (1.6.2)
capybara (2.2.1)
cellophane (0.1.3)
childprocess (0.5.3)
cliver (0.3.2)
cucumber (1.3.14)
diff-lcs (1.2.5)
ffi (1.9.3 x86-mingw32)
gherkin (2.12.2 x86-mingw32)
io-console (0.4.2)
json (1.7.7)
mime-types (2.2)
mini_portile (0.5.3)
minitest (4.3.2)
multi_json (1.9.2)
multi_test (0.1.1)
nokogiri (1.6.1 x86-mingw32)
poltergeist (1.5.0)
psych (2.0.0)
rack (1.5.2)
rack-test (0.6.2)
rake (0.9.6)
rdoc (4.0.0)
rspec (2.14.1)
rspec-core (2.14.8)
rspec-expectations (2.14.5)
rspec-mocks (2.14.6)
rubyzip (1.1.3)
selenium-webdriver (2.41.0)
test-unit (2.0.0.0)
websocket (1.0.7)
websocket-driver (0.3.2)
xpath (2.0.0)发布于 2014-04-24 06:09:09
不幸的是,这不是一个解决方案,但是看起来您可能在他们的github上有一个未解决的问题,它似乎没有修复(这个问题仍然是开放的,没有任何建议),所以如果这是您的问题,您可能不得不切换到Selenium。抱歉的。
发布于 2015-05-28 15:01:45
我最近遇到了这个问题,正如Mike链接的页面上所指出的,您可能需要将'--local-to-remote-url-access=yes'添加到您的幻影选项中。
https://stackoverflow.com/questions/23244496
复制相似问题