2014-02-14 4 views
1

Я использую сервер Selenium (2.39.0) на сервере centOs 6.5 (redhat) разработки тестов на PHP с использованием phpUnit (я установил PHPUnit по груше, а)Сервер Selenium не может подключиться к хосту, без отображения - OLD: не удалось запустить новый сеанс браузера

, но каждый раз, когда я получаю эту ошибку:

Invalid response while accessing the Selenium Server at 'http://localhost:4444/selenium-server/driver/': 
Failed to start new browser session: org.openqa.selenium.server.RemoteCommandException: 
Error while launching browser 
Caused by 
RuntimeException: 
Invalid response while accessing the Selenium Server at 'http://localhost:4444/selenium-server/driver/': 
Failed to start new browser session: org.openqa.selenium.server.RemoteCommandException: 
Error while launching browser 

это тест, который я пытаюсь выполнить:

<?php 

require_once 'PHPUnit/Extensions/SeleniumTestCase.php'; 

class Example extends PHPUnit_Extensions_SeleniumTestCase 
{ 
    function setUp() 
    { 
    $this->setBrowser("*firefox"); 
    $this->setBrowserUrl("http://www.google.com/"); 
    } 

    function testMyTestCase() 
    { 
    $this->open("/"); 
    $this->type("q", "selenium rc"); 
    $this->click("btnG"); 
    $this->waitForPageToLoad("30000"); 
    $this->assertTrue($this->isTextPresent("Results * for selenium rc")); 
    } 
} 
?> 

я пытаюсь г также для запуска сценария с помощью:

phpunit --configuration conf.xml example.php 

где в conf.xml я получил:

<browser name="Firefox" browser="*firefox" host="IPHOST" port="4444" timeout="30000" /> 

, но я получаю ту же ошибку

и дверь 4444 бесплатно:

netstat -anp | grep 4444 

дает:

tcp  0  0 :::4444      :::*      LISTEN 

что я делаю неправильно?

EDIT:

@sircapsalot: Вы имеете в виду, чтобы изменить сценарий?

во всяком случае я не знаю, если я иду в правильном направлении, но я что-то изменилось: прежде всего сценарий отличается:

<?php 
class Example extends PHPUnit_Extensions_Selenium2TestCase 
{ 
    protected function setUp() 
    { 
    $this->setBrowser('firefox'); 
    $this->setBrowserUrl('http://www.example.com/'); 
    } 

    public function testTitle() 
    { 
    $this->url('http://www.example.com/'); 
    $this->assertEquals('Example WWW page', $this->title()); 
    } 
} 
?> 

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

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

и я уже пробовал с:

Xvfb :99 -ac -screen 0 1280x1024x24 & 

и:

export DISPLAY=:99 
+0

для начала, вы могли бы пойти на Selenium WebDriver вместо WebDriverBackedSelenium – sircapsalot

+0

У вас есть Firefox на вашем сервере? Он работает там? – rNix

+0

@rNix, да firefox работает – AntoninoR

ответ

4

я исправил «без дисплея не указано» ошибка, ошибка в том, что селен сервер уже был запущен, когда я начинал Xvfb, так это шаги (после Xvfb и селен установки):

  • запустить Xvfb (Xvfb: 99 -ac -screen 0 1280x1024x24 &)
  • экспорта дисплея (экспорт DISPLAY =: 99)
  • run selenium (java -jar selenium-server-standalone-versionNumber.jar)
  • запустить скрипт (phpunit namefile.PHP)

если селен уже запущен вы можете остановить его:

localhost:4444/selenium-server/driver/?cmd=shutDownSeleniumServer 

теперь скрипт работает

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