Работая в проекте rails 3.1.2 (mac OS X), у меня правильно установлен PhantomJS (я могу запустить код, подобный следующему, и он работает идеально, точно захватывая заголовок страницы и сохраняя точный снимок экрана)
try_phantom.coffee
page = require('webpage').create()
page.open 'http://localhost:5000/parties/onetestparty', (status) ->
title = page.evaluate -> document.title
console.log "Title: #{title}"
page.render './log/javascript_screenshot.png'
phantom.exit()
Однако, когда я пытаюсь использовать капибару/полтергейст в rspec следующим образом:
spec_helper.rb
require 'capybara/poltergeist'
Capybara.javascript_driver = :poltergeist
а затем используя спецификацию с вызовом, требующим javascript:
party_spec.rb
it "should allow a simple screenshot", js: true do
visit "/"
page.driver.render('./log/screen_Home.png', :full => true)
end
Не похоже, что мой javascript обрабатывается, а также скриншот всегда пуст!
Я пробовал отладчик, но он, похоже, также вызывает пустую HTML-страницу (просто html с пустыми тегами заголовка и тела)
Я почти уверен, что проблема либо в интерфейсе между водосвинкой и полтергейстом, либо (что более вероятно) в полтергейсте и фантомах. Вот версии соответствующих драгоценных камней:
capybara 1.1.3
capybara-webkit 0.13.0
полтергейст 1.0.2
phantomjs 1.7.0
Не уверен, как устранить неполадки дальше... Будем признательны за любую помощь.