Я пытаюсь выполнить какое-то безгласное тестирование с использованием рубинового скрипта. По сути, я запускаю Xvfb на дисплее: 1, а затем запускаю Watir::Browser.new(:firefox)
с помощью watir-webdriver.Running Selenium :: WebDriver :: Firefox внутри Xvfb от рубинов как пользователь NON-root
Это отлично работает, если вы запускаете скрипт как root - я могу запустить x11vnc и посмотреть, как скрипт выполняет браузер и взаимодействует с ним.
Проблема в том, что мне нужно иметь возможность вызвать этот скрипт ruby из приложения Rails и НЕ запускать его как root ... если я попытаюсь запустить сценарий из командной строки в качестве обычного пользователя, то Xvfb срабатывает как обычно, но Watir не запускает браузер ... он в итоге истекает через 60 секунд. Подключение через VNC показывает черный экран с курсором мыши.
Я могу сделать всю работу из командной строки - запустите Xvfb, затем запустите firefox --display=:1
, и браузер запустится, так что это должна быть проблема Selenium, не так ли?
В двух словах: Selenium/Webdriver отказывается запускать браузер внутри Xvfb, если я не запускаю скрипт как root.
+1 для добавления вашего решения, как только вы получили его правильно –
@ user724205 Ваш ответ должен быть добавлен в качестве ответа, а не скопирован в вопрос. –