Próbuję zrobić kilka testów bez głowy za pomocą skryptu ruby. Zasadniczo wykonuję Xvfb na ekranie: 1, a następnie uruchamiam Watir::Browser.new(:firefox)
używając watir-webdrivera.Uruchamianie Selenium :: WebDriver :: Firefox wewnątrz Xvfb z ruby jako użytkownik bez uprawnień root
Działa to świetnie, jeśli uruchamiasz skrypt jako root - mogę uruchomić x11vnc i obserwować, jak skrypt uruchamia przeglądarkę i współdziała z nią.
Problem polega na tym, że muszę mieć możliwość wywoływania tego skryptu ruby z aplikacji Rails, a NIE uruchamiania go jako root ... jeśli spróbuję uruchomić skrypt z wiersza poleceń jako zwykły użytkownik, Xvfb odpala 1: jak zwykle, ale Watir nie uruchomi przeglądarki ... w końcu skończy się po 60 sekundach. Połączenie za pomocą VNC pokazuje czarny ekran z kursorem myszy.
Mogę wykonać całą partię z wiersza poleceń - uruchom Xvfb, następnie uruchom firefox --display=:1
i uruchom przeglądarkę, więc musi to być problem Selenium, prawda?
W skrócie: Selenium/Webdriver odmawia uruchomienia przeglądarki w Xvfb, chyba że uruchomię skrypt jako root.
+1 do dodawania rozwiązanie kiedy masz to prawo –
@ user724205 Twoja odpowiedź powinna być dodana jako odpowiedź, nie zostały skopiowane do pytania. –