2013-12-18 5 views
0

Я запускаю конфигурацию LAMP на сервере Ubuntu 13.04. Я устанавливаю XVFB и Selenium для загрузки при запуске в качестве сервисов (/etc/init.d). Firefox работает, если я экспортирую DISPLAY, прежде чем открывать его в сеансе терминала, однако я не пытаюсь протестировать сеанс терминала; Я использую PHPWebDriver для вызова экземпляра WebDriver.Selenium WebDriver Firefox

При попытке открыть сессию так:

$driver_include = "/includes/user/webdriver/__init__.php"; 
require $driver_include; 
$wd_host = 'http://localhost:4444/wd/hub'; 
$web_driver = new PHPWebDriver_WebDriver($wd_host); 
$session = $web_driver->session('firefox'); 

Я получаю следующее сообщение об ошибке:

Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. 

Я также Xvfb установлен DISPLAY: 10. Экспортируя на этот экран, я могу открыть Firefox в терминале.

Мой вопрос:

Как сказать WebDriver использовать определенный дисплей по умолчанию, не запуская его вручную из терминальной сессии?

ответ

0

Я думаю, что все будет в порядке, если вы убедитесь, что Grid-сервер работает в оболочке в среде с окном. Он не будет работать, если вы запустите сетку за пределами оконной среды, которая необходима для запуска профиля Firefox. Если вы пытаетесь запустить без головы, без DISPLAY, вместо этого вы должны использовать GhostDriver/PhantomJS или что-то подобное.

+0

Shoulnd't Xvfb способен обрабатывать дисплей? – user3063045

+0

Да, xvfb, vnc, lxde или что-то еще, он должен работать. – djangofan

+0

Так как Selenium знает, какой дисплей использовать, если у меня есть Firefox, работающий в VNC и XVFB? – user3063045

Смежные вопросы