2011-02-25 15 views
5

मुझे सेलेनियम का उपयोग करने में समस्या आ रही है।ककड़ी, वेब्रैट और सेलेनियम NoMethodError रेल में 3

NoMethodError: undefined method `within' for #<Webrat::SeleniumSession:0x000000057ea608> 

यह ठीक काम करता है बस सेलेनियम बिना ककड़ी और webrat का उपयोग कर: जब मैं एक परिदृश्य जो "मैं बार भीतर foo देखना चाहिए" ककड़ी से वेब कदम का उपयोग करता है, मैं निम्नलिखित त्रुटि मिलती है।

Webrat.configure do |config| 
    config.mode = :selenium 
    config.application_framework = :rack 
    config.open_error_files = false # Set to true if you want error pages to pop up in the browser 
end 

यहाँ कदम है कि मुसीबत (यह कार्यान्वयन web_steps.rb में है)

Then I should not see "2" within "#node" 
+0

क्या मैं ककड़ी के दुरुपयोग के एक प्रमुख उदाहरण के रूप में DailyWTF के लिए "#node" के अंदर "2" नहीं देख सकता हूं? ककड़ी ग्राहकों के लिए समीक्षा करने के लिए है, और केवल उच्च स्तर की चीजें कहें जैसे "यह सुविधा लाभदायक है"। और ककड़ी को उन परीक्षणों पर भ्रम परत के रूप में उपयोग नहीं किया जाना चाहिए जो अपने यूजर इंटरफेस के माध्यम से एक वेबसाइट चलाते हैं! – Phlip

उत्तर

-1

सकता है का कारण बनता है:

यहाँ मेरी env.rb से webrat कॉन्फ़िगर ब्लॉक है आप अपना कदम पोस्ट करते हैं? इसकी परिभाषा web_steps.rb

क्या आप सुनिश्चित हैं कि आपका चरण इस फ़ाइल में regexp से मेल खाता है? AFAIK को "foo" और "bar" के चारों ओर डबल कोट्स होना चाहिए

+0

कदम जोड़ा गया। चरण ठीक से मेल खाता प्रतीत होता है, यह पूरी तरह से काम करता है जब सेलेनियम का उपयोग नहीं किया जाता है – Magnus

+0

तब मुझे यकीन नहीं है। मैंने वेब्रेट \ सेलेनियम संयोजन (हम Capybara का उपयोग नहीं करते) की कोशिश नहीं की है – AlistairH

+0

मैं capybara एक जाना होगा – Magnus

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