Podczas uruchamiania testów rspec pojawia się następujący błąd
nie można uzyskać stabilnego połączenia firefox w ciągu 60 sekund (127.0.0.1:7055) na railsach
Korzystanie z najnowszego Ruby (1.9.2) i Firefox (6.0)
Używanie rspec-rails, kapibary i kilku innych klejnotów, ale nie wydaje się to stanowić problemu. Testy te działają dobrze w innym środowisku (Linux).
selenium-webdriver
i robię to,bundle update selenium-webdriver
gdy wersja wymaga aktualizacji.Nie mogłem go zmusić do pracy z Firefoksem 10 na Ubuntu. Pomogło przejście na Chrome.
Zainstaluj sterownik Chrome .
spec_helper.rb:
Capybara.register_driver :selenium_chrome do |app| Capybara::Selenium::Driver.new(app, :browser => :chrome) end
W twojej specyfikacji:
Capybara.current_driver = :selenium_chrome ... tests ... Capybara.use_default_driver
źródło
brew install chromedriver
Capybara.javascript_driver = :selenium_chrome
(zamiast ustawieniacurrent_driver
.)Dla każdego, kto doświadcza tego w Firefoksie 12, obecny webdriver selenu (2.21) nie obsługuje FF12. Jedynym rozwiązaniem, jakie znalazłem, jest kontynuowanie korzystania z Firefoksa, to obniżenie wersji Firefoksa, dopóki selenium-webdriver nie zostanie zaktualizowany o obsługę FF12.
Można to zrobić za pomocą menedżera pakietów synaptic, wybierając pakiet Firefox i klikając menu Pakiet> Wymuś wersję> wybierz wcześniejszą wersję. Następnie zastosuj zmiany.
Jeśli nie masz synaptic, możesz zainstalować go za pomocą apt-get install synaptic.
Aktualizacja: obsługa przeglądarki Firefox 12 została dodana w wersji 2.22, a obsługa FF13 została dodana w wersji 2.23
źródło
Otrzymałem ten błąd, ponieważ specyfikacje były uruchamiane na serwerze bezgłowym. Oznaczało to, że przeglądarka nie wyświetlała się.
Ten artykuł sugeruje użycie wirtualnego serwera X ( X Virtual Framebuffer ). Umożliwia to przeglądarce renderowanie na wyświetlaczu wirtualnym.
Zainstaluj tak:
Następnie uruchom specyfikacje z poleceniem
xvfb-run
na początku.xvfb-run bundle exec rake spec:features
To była odpowiedź TAK, która doprowadziła mnie do powyższego artykułu. Daje również alternatywne sposoby korzystania z Xvfb.
źródło
Miałem ten sam problem, aktualizacja
selenium-webdriver
nie pomogła (była to najnowsza dostępna już wersja).Okazuje się, że próbowałem uruchomić mój skrypt z sesji SSH i
$DISPLAY
nie został ustawiony.Problem został rozwiązany:
export DISPLAY=:0
przed uruchomieniem mojego skryptu Ruby z sesji SSH (użyj
echo $DISPLAY
w terminalu w sesji X, aby dowiedzieć się, co musisz umieścić w tej zmiennej).źródło
źródło
Dodanie klejnotu „launchy” do pliku Gemfile mojej aplikacji działało z FF13.0, Capybara i Selenium v1.8.24.
źródło
To tylko powtórzenie tego, co wszyscy mówili powyżej. Sprawdziłem mój plik gemfile i upewniłem się, że `` selenium-webdriver '' nie ma żadnych ograniczeń, a następnie uruchomiłem `` aktualizację pakietu '' i zadziałało.
Jestem na Ubuntux64 i Windows 8 x64
źródło