Sto testando il selenio in esecuzione con phantomjs da Ruby on Rails. Sto testando localmente sul mio computer.Ruby on Rails non è in grado di caricare tale file - selenium-webdriver Errore
Il seguente codice funziona bene nel mio test di script Ruby quando corro "ruby 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
ho più o meno lo stesso codice nel mio file 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
Ma quando eseguo la mia app ottengo un errore "impossibile caricare tale file - selenium-webdriver".
ho aggiunto questo al mio Gemfile e corse bundle install ma ottenere lo stesso errore.
gem 'selenium-webdriver', '~> 2.45'
Quando si esegue la lista gem --local mostra che il selenio è installato.
Qualsiasi aiuto sarebbe apprezzato.
Aggiornamento:
ho corso quasi esattamente lo stesso codice come sopra ma con watir-WebDriver e ottenuto gli stessi risultati. Lo script Ruby funzionava bene da solo, ma forniva un errore "impossibile caricare tale file" per watir-webdriver quando provavo a eseguirlo da Rails.
Ho eseguito un altro test con nokogiri e ha funzionato correttamente. Sia per se stesso che in Rails.
Update2:
Sembra essere qualcosa che sto facendo e non il mio ambiente di test. Ho appena eseguito lo stesso codice su un IDE on-line e ottenuto lo stesso tipo di errore:
Update3:
Ecco il contenuto completo del file application_controller.rb quando faccio funzionare il prova con watir-webdriver e headless. Ottengo gli stessi risultati. Forse sto impostando qualcosa di sbagliato qui?
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
io non sono in grado di riprodurre il problema. Ho provato esattamente gli stessi passaggi e ho installato 'selenium-webdriver' versione' 2.53.0' e ha funzionato come un incantesimo. –
Strano. Ho aggiunto l'intero contenuto del file application_controller.rb solo per assicurarmi che non manchi qualcosa di semplice. – MrAutoIt
https://github.com/firangistan/webdriver-test Controlla se questa applicazione funziona per te. –