2016-03-21 11 views
6

Ruby on Railsのphantomjsを使用してselenium webdriverをテストしています。私は自分のコンピュータでローカルにテストしています。Ruby on Railsでこのようなファイルを読み込めません - selenium-webdriverエラー

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 
:私は「ルビー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ファイルでほとんど同じコードを持っている私のテストRubyスクリプト内で正常に動作します

しかし、私は私のアプリを実行すると、 "そのようなファイルを読み込めません - セレン - webdriver"エラーが発生します。

enter image description here

私は私のGemfileにこれを追加した、バンドルのインストールが、同じエラーを取得しました。

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

gem list --localを実行すると、セレニウムがインストールされていることが示されます。

ご協力いただければ幸いです。

更新:

は、私は上記のようなもので、ワチール-webdriverをとほとんど同じコードを実行し、同じ結果を得ました。 Rubyスクリプトはそれ自身で正常に動作しましたが、Railsから実行しようとしたときにwatir-webdriverの「このようなファイルをロードできません」というエラーを出しました。

ノコギリで別のテストを実行しても正常に動作しました。両方ともそれは自己であり、Railsである。

アップデート2:

私が私のテスト環境をやっておりません何かのように見えます。私はちょうどオンラインIDE上で同じコードを実行し、エラーの同じタイプを得た:

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

私はこの問題を再現することはできませんよ。私はまったく同じ手順を試して、 'selenium-webdriver'バージョン2.53.0をインストールしました。それは魅力的なように機能しました。 –

+0

奇妙な。私はapplication_controller.rbファイルの完全な内容を追加して、単純なものを見逃していないことを確認しました。 – MrAutoIt

+0

https://github.com/firangistan/webdriver-testこのアプリケーションが有効かどうかを確認してください。 –

答えて

0

あなたのWEBrickに、ピューマ...サーバを再起動したのですか?

は魅力的です。

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

Mac上

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 

結果グーグル

関連する問題