2016-03-21 9 views
6

मैं रेलवे पर रूबी से फैंटोमज के साथ सेलेनियम वेबड्राइवर चलाने का परीक्षण कर रहा हूं। मैं अपने कंप्यूटर पर स्थानीय रूप से परीक्षण कर रहा हूं।रेल पर रूबी ऐसी फ़ाइल लोड नहीं कर सकती है - सेलेनियम-वेबड्राइवर त्रुटि

निम्नलिखित कोड अपने परीक्षण रूबी स्क्रिप्ट के भीतर ठीक चलता है जब मैं "माणिक test.rb"

def google_title 
    require 'selenium-webdriver' 
    driver = Selenium::WebDriver.for :phantomjs 
    driver.navigate.to "https://www.google.com" 
    page_title = driver.title 
    puts page_title 
    end 

    google_title 

चलाने मैं अपने application_controller.rb फ़ाइल में बहुत ज्यादा एक ही कोड है:

def google_title 
    require 'selenium-webdriver' 
    driver = Selenium::WebDriver.for :phantomjs 
    driver.navigate.to "https://www.google.com" 
    page_title = driver.title 
    render text: page_title 
    end 

लेकिन जब मैं अपना ऐप चलाता हूं तो मुझे "ऐसी फ़ाइल लोड नहीं हो सकती है - सेलेनियम-वेबड्राइवर" त्रुटि।

enter image description here

मैं अपने Gemfile को यह जोड़ लिया है और बंडल स्थापित लेकिन एक ही त्रुटि मिलती भाग गया।

gem 'selenium-webdriver', '~> 2.45' 

जब मैं मणि सूची चलाता हूं - यह दिखाता है कि सेलेनियम स्थापित है।

किसी भी मदद की सराहना की जाएगी।

अद्यतन:

मैं लगभग बिल्कुल एक ही कोड के रूप में ऊपर लेकिन watir-webdriver साथ भाग गया और एक ही परिणाम मिला है। रूबी लिपि ने स्वयं के द्वारा ठीक से भाग लिया लेकिन जब मैंने इसे रेल से चलाने की कोशिश की तो वॉटर-वेबड्राइवर के लिए "ऐसी फ़ाइल लोड नहीं कर सकती" त्रुटि दी।

मैंने नोकोगिरी के साथ एक और परीक्षण चलाया और यह ठीक काम किया। दोनों स्वयं के और रेल में।

Update2:

यह कुछ मैं कर रहा हूँ और नहीं अपने परीक्षण वातावरण प्रतीत होता है। मैं सिर्फ एक ऑनलाइन आईडीई पर एक ही कोड भाग गया और त्रुटि के एक ही प्रकार है:

enter image description here

Update3:

यहाँ जब मैं चलाने application_controller.rb फ़ाइल की पूरी सामग्री है वॉटर-वेबड्राइवर और हेडलेस के साथ परीक्षण करें। मुझे एक ही परिणाम मिलते हैं। शायद मैं यहाँ कुछ गड़बड़ कर रहा हूँ?

class ApplicationController < ActionController::Base 
    def google_title 
    require 'watir-webdriver' 
    require 'headless' 
    headless = Headless.new 
    headless.start 
    b = Watir::Browser.start 'www.google.com' 
    page_title = b.title 
    b.close 
    headless.destroy 
    render text: page_title 
    end 
end 

enter image description here

+0

मैं इस मुद्दे को पुन: पेश करने में सक्षम नहीं हूँ। मैंने सटीक एक ही कदम की कोशिश की और 'सेलेनियम-वेबड्राइवर' संस्करण '2.53.0' स्थापित किया और यह एक आकर्षण की तरह काम किया। –

+0

अजीब। मैंने यह सुनिश्चित करने के लिए application_controller.rb फ़ाइल की पूरी सामग्री को जोड़ा है कि मुझे कुछ आसान याद नहीं है। – MrAutoIt

+0

https://github.com/firangistan/webdriver-test जांचें कि यह एप्लिकेशन आपके लिए काम करता है या नहीं। –

उत्तर

0

को रिस्टार्ट करने के अपने webrick, प्यूमा ... सर्वर किया था?

एक आकर्षण की तरह काम करता है।

gem 'selenium-webdriver', '~> 2.45'

bundle install

मैक पर

:

brew install phantomjs

class ApplicationController < ActionController::Base 

    protect_from_forgery with: :exception 
    #no need for require 
    def google_title 
    driver = Selenium::WebDriver.for :phantomjs 
    driver.navigate.to "https://www.google.com" 
    page_title = driver.title 
    render text: page_title 
    end 
end 

routes.rb:

get 'google-title' => 'application#google_title'

http://127.0.0.1:3000/google-title 

परिणाम गूगल

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

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