2012-01-09 11 views
5

मेरे पास @javascript के साथ टैग किया गया एक ककड़ी परिदृश्य है और मैं इसे वास्तव में कुछ बुनियादी इनलाइन जेएस कॉल के साथ परीक्षण कर रहा हूं। वेबकिटककड़ी (रेल 2) लोड नहीं हो रहा है jQuery

तो मैं पृष्ठ पर ऐसा करते हैं, प्रश्न में तत्व के बाद (जो आईडी = "ajax_test_results" है, ajax के बारे में हालांकि चिंता मत करो: मैं इस का उपयोग कर

Capybara.javascript_driver = चल रहा हूँ , अब के लिए)

document.getElementById('ajax_test_results').innerHTML = 'Replaced with basic js, ie not jquery, without waiting for pageLoad'; 

तो यह काम करता है: अगर मैं अपने परीक्षण में पेज बाहर प्रस्तुत करना मैं देख सकता हूँ कि js चलाने के लिए और सामग्री को अपडेट किया है। हालांकि, अगर मैं jquery

के साथ एक ही चीज़ करने का प्रयास करता हूं तो यह काम नहीं करता है। मुझे लगता है कि jquery लोड नहीं किया जा रहा है, लेकिन मुझे नहीं पता कि इसे डिबग करने के बारे में कैसे जाना है।

कोई भी विचार किसी को भी? मैंने इस पोस्ट को देखा जो आशाजनक https://stackoverflow.com/questions/8428405/cucumber-tests-jquery-does-not-loaded-in-webdriver देखा लेकिन config.assets.debug = true मेरे लिए एक त्रुटि का कारण बनता है - मुझे लगता है कि यह केवल रेल 3 है। क्या रेल 2 समान हैं? या कुछ अन्य समाधान?

किसी भी सलाह के लिए आभारी - अधिकतम

+0

मुझे यह वही समस्या है और यह मुझे स्पष्ट नहीं है कि आप jQuery लोड करने के लिए ककड़ी कहेंगे। – bias

+0

क्या यह हो सकता है कि jquery को अभी तक लोड नहीं किया गया है? – moritz

+1

स्पष्ट लगता है, लेकिन जब आप पृष्ठ प्रस्तुत करते हैं तो आप कुछ सेकंड के लिए 'नींद' को कॉल करके इसे डीबग करने के बारे में सोच सकते हैं और आप तत्व की उपस्थिति के परीक्षण की कोशिश करते हैं – varatis

उत्तर

0

आप console.log ('संदेश') या चेतावनी बयानों का उपयोग कर सकते डिबगिंग के लिए। यह आपके संदेशों को टर्मिनल स्क्रीन पर आउटपुट करेगा। इसके अलावा, आप उपयोग कर सकते हैं:

Gemfile: 
    gem 'debugger' 

When /your step/ do 
    require 'ruby-debug' 
    debugger 
end 

तो आप page.evaluate_script या page.execute_script तरीकों का उपयोग कर डीबग कर सकते हैं। यह करना काफी आसान है।

jquery समस्या के अनुसार आप jQuery के बजाय $ का उपयोग करने का प्रयास कर सकते हैं?

एलेक्स।

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