अच्छी तरह से नहीं खेल रहे हैं, मैं PhantomJS ठीक से स्थापित है (मैं निम्नलिखित की तरह कोड चला सकते हैं और सही हथियाने यह काम करता है पूरी तरह से पृष्ठ के शीर्षक और एक सटीक स्क्रीनशॉट)रेल Phantomjs, poltergeist, और Capybara एक रेल 3.1.2 परियोजना (मैक ओएस एक्स) में काम करते हुए एक साथ
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 में capybara/poltergeist उपयोग करने का प्रयास:
+०१२३५१६४१०६१spec_helper.rb
require 'capybara/poltergeist'
Capybara.javascript_driver = :poltergeist
और फिर एक फोन की आवश्यकता होती है जावास्क्रिप्ट के साथ एक युक्ति का उपयोग करते हुए:
parties_spec.rb
it "should allow a simple screenshot", js: true do
visit "/"
page.driver.render('./log/screen_Home.png', :full => true)
end
यह प्रकट नहीं होता है कि मेरी जावास्क्रिप्ट है प्रस्तुत किया जा रहा है, और स्क्रीनशॉट हमेशा खाली है!
मैं डिबगर की कोशिश की है, लेकिन है कि मैं यकीन है कि समस्या या तो capybara और के बीच इंटरफेस है हूँ
(बस खाली सिर और शरीर टैग के साथ HTML) भी एक खाली HTML पृष्ठ को लाने के लिए लगता है poltergeist या (अधिक संभावना) poltergeist और phantomjs।
capybara 1.1.3
capybara-वेबकिट 0.13.0
poltergeist 1.0.2
phantomjs है कैसे करने के लिए सुनिश्चित 1.7.0
नहीं: यहाँ प्रासंगिक जवाहरात के संस्करण हैं आगे की समस्या निवारण ... किसी भी मदद की सराहना की जाएगी।
नोट: एक चीज मैंने भी कोशिश की है पोल्टरजिस्ट को स्पष्ट रूप से कह रहा है कि मेरे प्रेतोज़ कहां मिल सकते हैं:: phantomjs => "/usr/local/Cellar/phantomjs/1.7.0/bin/phantomjs"। यह परिणाम नहीं बदलता है ... हालांकि, मुझे लगता है कि यह साबित करता है कि फैंटोम वास्तव में चल रहा है, क्योंकि अगर मैं इसे एक फर्जी पथ देता हूं, तो मुझे एक त्रुटि मिलती है। –