2010-01-20 37 views
0

我刚刚开始使用Selenium-RC和PHPUnit来执行一些基于Web的测试。最初我使用本指南在Windows 7上设置它 - http://jodyt.com/2009/03/selenium-rc-and-php/ - 并且它工作正常。Selenium-RC浏览器启动错误

我可以创建一个.php文件测试并使用phpunit运行它。

不过,我被要求在Ubuntu 8.04上本地运行它。所以我下载并将selenium-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 

我试图做这一切通过Putty连接到X11 Forwarding的Ubuntu机器。

任何想法出了什么问题?

+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 

我很遗憾。

相关问题