PHPUnit Selenium Xvfb Centos

Я пытаюсь настроить функциональные тесты на моем сервере Centos, используя Selenium Web Server и Phpunit.

Когда я запускаю тесты, я получаю сообщение об ошибке в командной строке:

PHPUnit_Extensions_Selenium2TestCase_WebDriverException:
Unable to connect to host vmdev-pando-56 on port 7055 after 45000 ms.
Firefox console output: Error: no display specified

Я занимаюсь исследованиями более трех дней и не могу найти решение. Я прочитал много сообщений, в том числе SOverflow. Насколько я понимаю, все настроено правильно, и все же я испытываю ту же проблему, что и многие другие люди, и решения, которые работают для них, похоже, не работают для меня.

Это моя установка:

  1. ОПЕРАЦИОННЫЕ СИСТЕМЫ: Centos 6.5 x86 в командной строке (без графического интерфейса)
  2. PHP: 5.6
  3. PHPUnit: 3.7хотя я тоже пробовал с 5.3
  4. Selenium автономный веб-сервер: 2.53скачал с Вот, хотя я тоже пробовал с 2.9
  5. Система Xvfb: xorg-x11-server-Xvfb
  6. Fire Fox: 38.0.1хотя я тоже пробовал с 38.7

Я также установил DISPLAY в :99 в моем профиле bash:

введите описание изображения здесь

Вот что я делаю, чтобы настроить среду:

  1. Сначала я запускаю систему Xvfb: /usr/bin/Xvfb :99 -ac -screen 0 1280x1024x24 &
  2. Затем я запускаю сервер Selenium: /usr/bin/java -jar /usr/lib/selenium/selenium-server-standalone-2.53.0.jar &
  3. Я запускаю Firefox: firefox & (хотя я знаю, что это не обязательно, но на всякий случай)

Все три процесса работают в фоновом режиме.

На данный момент я знаю, что Firefox работает так же, как и X-буфер. Я могу запустить команду firefox http://www.stackoverflow.com & а затем сделать снимок буфера, выполнив import -window root /tmp/buffer_snapshot.pngчто-то вроде этого:

введите описание изображения здесь

Я конечно получил предупреждение на терминале: Xlib: extension "RANDR" missing on display ":99"Но я читал бесчисленное количество раз, что это не проблема.

Во всяком случае, проблема начинается только сейчас.

Я написал довольно простой функциональный тест (обратите внимание, что другие написанные мною тесты, кроме функциональных, работают нормально, поэтому среда в этом отношении выглядит правильно настроенной):

<?php
namespace My\APP\BUNDLE\Tests\Functional\MyTest;

use PHPUnit_Extensions_Selenium2TestCase;

class HelloWorldTest extends PHPUnit_Extensions_Selenium2TestCase {

protected function setUp() {
$this->setBrowser('firefox');
$this->setHost('localhost');
$this->setPort(4444);
$this->setBrowserUrl('http://www.stackoverflow.com');
}

public function testTitle() {
$this->url('/');
$this->assertEquals("1", "1");
}
}

И когда я запускаю тест, выдавая phpunit HelloWorldTest.phpЯ получаю следующую ошибку:

PHPUnit_Extensions_Selenium2TestCase_WebDriverException:
Unable to connect to host vmdev-pando-56 on port 7055
after 45000 ms. Firefox console output:
Error: no display specified

Проверяя файл журнала, созданный селеном, я обнаружил следующие (интересные) строки:

21:55:46.135 INFO - Creating a new session for Capabilities [{browserName=firefox}]

[...]

java.util.concurrent.ExecutionException:
org.openqa.selenium.WebDriverException:
java.lang.reflect.InvocationTargetException
Build info: version: '2.53.0',
revision: '35ae25b',
time: '2016-03-15 17:00:58'
System info: host: 'vmdev-pando-56',
ip: '127.0.0.1',
os.name: 'Linux',
os.arch: 'i386',
os.version: '2.6.32-431.el6.i686',
java.version: '1.7.0_99'
Driver info: driver.version: unknown

[...]

(Файл содержит полный дамп трассировки стека и исходное сообщение дисплей не указан)

Нет ошибок в Xvfb журнальный файл.

На данный момент я понятия не имею, что я делаю неправильно.

Кто-нибудь может помочь?

большое спасибо

2

Решение

Причина для Невозможно подключиться ошибка в том, что версия Selenium Server не знает, как работать с установленной вами версией Firefox. Selenium автономный веб-сервер 2.53 является последним и лучшим. Селен-Firefox-драйвер также 2,53. Firefox версия 38 старая. Я использую Firefox 45.0.1 с селеном 2.53.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]