【发布时间】:2015-05-28 23:01:45
【问题描述】:
在使用 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
还有我的宝石清单。如果有帮助,我在 Windows 7 上使用 PhantomJS for Windows 7 的二进制文件,版本为 1.9.2。
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)
【问题讨论】:
-
应该补充一点,只要我把它移到 selenium 浏览器(我试过 Chrome 和 Firefox),页面就会正确重定向。
标签: ruby capybara phantomjs poltergeist