2011-02-11 19 views
5

मुझे सेलेनियम के तहत चलाने के लिए ककड़ी उदाहरण प्राप्त करने का प्रयास करने में परेशानी हो रही है। मैंसेलेनियम ककड़ी/कैपिबरा (बॉक्स के बाहर) के साथ काम नहीं करता है - मैकॉक्स

  • Rails3 चल रहा हूँ
  • ककड़ी 0.10.0
  • Capybara 0.4.1.2

पर doco पढ़ना, यह जाहिर होता है कि मैं जरूरत के लिए एक उदाहरण प्राप्त करने के लिए कि

चरण 1:: सेलेनियम के अंतर्गत चलाने के लिए निम्न कार्य करने के लिए है @javascript

के साथ परिदृश्य उपसर्ग

चरण 2: कॉन्फ़िगर env.rb जो ड्राइवर का उपयोग करने के capybara बताने के लिए:

Capybara.javascript_driver = :selenium 

जब मैं चलाएँ:

bundle exec cucumber feature/myfeature.feature 

मैं निम्नलिखित मिल:

Using the default profile... 
F------------F 

Failing Scenarios: 
cucumber features/myfeature.feature:7 # Scenario: User does x 

1 scenario (1 failed) 
12 steps (12 skipped) 
0m0.012s 

नहीं फ़ायरफ़ॉक्स विंडो। कुछ भी तो नहीं। यह चलता है, लटकता है और मर जाता है।

तो capybara और सेलेनियम webdriver काम कर रहा है कि क्या जांच करने के लिए, मैं निम्नलिखित कोड लिखा है:

require 'capybara' 
require 'capybara/dsl' 

Capybara.default_driver = :selenium 

class Test 
    include Capybara 
    def dotest 
    visit('http://www.stackoverflow.com') 
    end 
end 

Test.new.dotest 

और का उपयोग कर इसे भागा:

bundle exec ruby /tmp/test.rb 

काम करता है। फ़ायरफ़ॉक्स विंडो खोलता है और www.stackoverflow.com पर नेविगेट करता है।

तो कैपिबर को क्या ककड़ी कर रही है यह समझने के लिए डायग्नोस्टिक जानकारी कैसे प्राप्त की जा सकती है?

मैं ओएसएक्स 10 चला रहा हूं, रूबी 1.8.7 और फ़ायरफ़ॉक्स 3.6.13।

+0

कैपिबरा 0.4.0 आधा साल पुराना है। मैं 'बंडल अपडेट' चलाने की अनुशंसा करता हूं - शायद यह आपकी समस्या को पहले ही हल करेगा। –

+0

अब मैं कैपिबरा 0.4.1.2 पर हूं। एक ही समस्या है। – BlueFish

+0

क्या कुछ लॉग जानकारी प्राप्त करने का कोई तरीका है? – BlueFish

उत्तर

7

ठीक है ... मुझे मेरी समस्या मिली। ककड़ी के कटोरे में कहीं डाटाबेस क्लेनर पर निर्भरता है जिसे आप सेलेनियम ड्राइवर का उपयोग करते समय एक बार ट्रिगर किया जा रहा है। विफलता कथन:

F______________F 

मुझे बताया कि सेटअप और टियरडाउन में विफलता हो रही थी। ककड़ी अपवाद की रिपोर्ट नहीं कर रही थी और यहां तक ​​कि बीबी ने कुछ भी नहीं किया था।

मैं इस समस्या को कैसे पाया:

  1. एक रत्न निर्भरता

  2. जोड़ें env करने के लिए "माणिक डिबग" की आवश्यकता के रूप में माणिक डिबग जोड़ें।rb

  3. मैं env.rb को निम्नलिखित बयान कहा:

Before do 
    breakpoint; 0 
end 
  1. सुविधा बंडल कार्यकारी का उपयोग कर Ran। डीबगर ने

  2. बिल्ली मानक त्रुटि में टाइप करें जो "मानक त्रुटि" फेंकने पर ब्रेकपॉइंट पर डीबगर को बताएगा। Cucumber में सभी त्रुटियों के लिए StandardError आधार वर्ग है। हम क्या करना चाहते हैं यह पता लगाना है कि त्रुटि कहां फेंक दी जा रही है और क्यों।

  3. शेष भाग में टाइप करें डिबगर

को फिर से शुरू करने के लिए एक मणि निर्भरता के रूप में डेटाबेस-क्लीनर को जोड़ने के बाद बताने के लिए, सब कुछ चला गया। फ़ायरफ़ॉक्स ने फायरिंग शुरू कर दी और चीजें विज्ञापन के रूप में काम करना शुरू कर दीं।

+0

मुझे वही समस्या थी जब ऐप परीक्षण डेटाबेस से कनेक्ट नहीं हो सका। आपके कदमों ने मुझे एक स्टैक ट्रेस दिया, इसलिए मुझे समस्या मिल सकती है। –

0

आप

bundle exec cucumber feature/myfeature.feature 

कोशिश किया !!

+0

वही परिणाम। एक ही त्रुटि के साथ विफल। – BlueFish

+0

आप प्रयोग करके परीक्षण लॉग जानकारी प्राप्त कर सकते हैं: tail -f log/test.log –

+0

धन्यवाद, लेकिन यह वह जानकारी नहीं है जिसके बाद मैं हूं। मैं यह पता लगाने की कोशिश कर रहा हूं कि क्यों ककड़ी/कैपिबरा परिदृश्य को क्रियान्वित करने के लिए फ़ायरफ़ॉक्स लॉन्च नहीं करता है। परीक्षण लॉग यह नहीं दिखाता है। यह किसी भी ActiveModel आवेषण इत्यादि को दिखाता है (सही ढंग से) – BlueFish

संबंधित मुद्दे