2010-01-20 4 views
0

일부 웹 기반 테스트를 수행하기 위해 PHPUnit과 함께 Selenium-RC를 사용하기 시작했습니다. 처음에는이 가이드 (http://jodyt.com/2009/03/selenium-rc-and-php/)를 사용하여 Windows 7에서 설정했으며 제대로 작동했습니다.Selenium-RC 브라우저 시작 오류

.php 파일 테스트를 만들고 phpunit로 실행할 수 있습니다.

그러나 저는 이것을 Ubuntu 8.04에서 로컬로 실행하도록 요청 받았습니다. 그래서 셀레늄 -RC 서버를 ~/selenium에 다운로드하고 압축을 풀면 'java -jar selenium-server.jar'을 실행하여 정상적으로 작동합니다. 셀레늄 서버가 실행되는 경우 내 PHP는 테스트 파일이 어디에 디렉토리를 변경 이제

, 나는 창에서 다음과 같은 오류 (들)을 얻을 : 나는이 모든 일을하려고하고

15:26:58.317 INFO - Got result: ERROR Server Exception: sessionId led to start 
new browser session: Error while launching browser doesn't exist; perhaps this 
session was already stopped? on session led to start new browser session: 
Error while launching browser 

15:26:58.323 INFO - Command request: testComplete[, ] on session led to start 
new browser session: Error while launching browser 

15:26:58.323 INFO - Got result: OK on session led to start new browser  
session: Error while launching browser 

X11 포워딩을 사용하여 퍼티 연결을 통해 우분투 컴퓨터에 연결합니다.

어떤 아이디어가 잘못 되었나요?

+0

내 테스트 스크립트에 phpunit을 발행 할 때 오류가 발생한다는 것을 추가해야합니다. – tombh

+0

테스트 코드를 볼 수 있습니까? – AutomatedTester

답변

0

확실히.

<?php 

require_once 'PHPUnit/Extensions/SeleniumTestCase.php'; 

class SomeTest extends PHPUnit_Extensions_SeleniumTestCase 
{ 
    private $licence; 

    function setUp() 
    { 
    $this->setBrowser('*firefox'); 
    $this->setBrowserUrl("http://blah"); 
    } 

function getLicence() 
{ 
    return $this->licence; 
} 

function setLicence($licence) 
{ 
    $this->licence = $licence; 
} 

function isStarted($element) 
{ 
    return $this->isElementPresent("//form[@id='".$element."']/ul/li[2]/img[@src='images/started.gif']"); 
} 

function isStopped($element) 
{ 
    return $this->isElementPresent("//form[@id='".$element."']/ul/li[2]/img[@src='images/stopped.gif']"); 
} 

function isDisabled($element) 
{ 
    return $this->isElementPresent("//form[@id='".$element."']/ul/li[2]/img[@src='images/disabled.gif']"); 
} 

function testStatusPage() 
{ 
    $this->open("/blah/"); 

    // 
    $this->setLicence('NA'); 

    // 
    $this->assertEquals($this->getLicence(), $this->getText("//div[@id='S1']/fieldset[1]/dl/dd")); 

    // Verify certain services are running 
    $this->assertTrue($this->isStarted('a')); 
    $this->assertTrue($this->isStarted('b')); 
    $this->assertTrue($this->isDisabled('c')); 
    $this->assertTrue($this->isDisabled('d')); 
    $this->assertTrue($this->isStopped('e')); 
    $this->assertTrue($this->isStarted('f')); 
    $this->assertTrue($this->isStarted('g')); 
    $this->assertTrue($this->isStarted('h')); 
    $this->assertTrue($this->isStarted('i')); 
} 
} 
?> 

서식에 대해 사과드립니다. 또한 단지 구글의 첫 페이지의 제목은 '구글'이었고, 그냥

Fatal error: Call to undefined method SimpleTest::assertTitle() 

그래서 내가 제대로 헤더 파일을 찾을 수 없습니다라고 생각했다 확인 더 간단한 하나를 만들었지 만 나는 '발견'않았다 다음에서 발견되었다 :

/usr/share/php/PHPUnit/Extensions/SeleniumTestCase.php 

나는 상당히 분실했다.

관련 문제