恶作剧者没有重定向页面

时间:2014-04-23 12:37:06

标签: ruby capybara phantomjs poltergeist

在使用Poltergeist /黄瓜时遇到了一个非常烦人的问题。当尝试导航到具有重定向的任何页面时(例如,我们的应用程序立即重定向登录),Poltergeist和PhantomJS只是坚持“正在加载...”屏幕并且从不跟随重定向。

我通过点击登录页面重定向URL本身来验证这一点,并且页面加载得很好并且我能够与它进行交互,但是无论何时发生另一次重定向,无论多么小,Poltergeist和PhantomJS再次粘贴。下面是我的env.rb文件,其中包含我正在使用的配置。如果我将“--ignore-ssl-errors”切换为false,则页面只会显示“about:blank”,因此该选项正在执行某事

任何可能有解决方案的人都将成为我的英雄,因为这是我们在为系统完全实施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

我的gemlist。我在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)

2 个答案:

答案 0 :(得分:1)

我最近遇到了这个问题,正如Mike H-R链接的页面上所示,您可能需要将'--local-to-remote-url-access=yes'添加到您的phantomjs选项中。

答案 1 :(得分:0)

不幸的是不是一个解决方案,但看起来你可能有this problem here在他们的github上是一个开放的问题,似乎没有解决它(问题仍然是开放的,没有任何建议),所以如果这是你的问题,你可能不得不切换到Selenium。遗憾。