Rails de Phantomjs, lutin, et le Capybara ne joue pas bien ensemble

De travail dans un des rails 3.1.2 projet (mac OS X), j'ai PhantomJS installé correctement (je peux exécuter un code comme suit et il fonctionne parfaitement, précisément de saisir le titre de la page et l'enregistrement précis de la capture d'écran)

try_phantom.café

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()

Cependant, lorsque je tente de l'utiliser capybara/lutin dans rspec comme suit:

spec_helper.rb.rb

require 'capybara/poltergeist'
Capybara.javascript_driver = :poltergeist

puis à l'aide d'un spec avec un appel exigeant javascript:

parties_spec.rb

        it "should allow a simple screenshot", js: true do
            visit "/"
            page.driver.render('./log/screen_Home.png', :full => true)
        end

Il n'apparaît pas que mon javascript est en cours de rendu, et aussi la capture d'écran est toujours blanc!!!

J'ai essayé de le débogueur, mais qui semble également afficher une page HTML vide (juste en html avec la tête vide et le corps des balises)

Je suis sûr que le problème est soit l'interface entre le capybara et poltergeist ou (plus probable), poltergeist et phantomjs. Voici les versions pertinentes des gemmes:

capybara 1.1.3
capybara-webkit 0.13.0
lutin 1.0.2
phantomjs est 1.7.0

Vous ne savez pas comment résoudre ce problème... Toute aide serait appréciée.

Remarque: Une chose que j'ai également essayé le dit lutin explicitement où mon phantomjs peuvent être trouvés: :phantomjs => "/usr/local/Cave/phantomjs/1.7.0/bin/phantomjs". Cela ne change pas le résultat... Cependant, je pense que cela prouve que phantomjs EST réellement exécuté, parce que si je lui donne un faux chemin, je reçois un message d'erreur.

OriginalL'auteur Dave Collins | 2012-11-26