Selenium-RC浏览器启动错误

时间:2010-01-20 15:44:17

标签: selenium phpunit

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

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

但是,我被要求在Ubuntu 8.04上本地运行。所以我将selenium-rc服务器下载并解压缩到〜/ selenium,并通过发出'java -jar selenium-server.jar'来正常工作。

现在,当我将目录更改为我的php测试文件所在的位置时,我从运行selenium-server的窗口中收到以下错误:

 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连接到Xbu Forwarding的Ubuntu机器来完成所有这些。

任何想法出了什么问题?

2 个答案:

答案 0 :(得分:1)

解决。安装了较新版本的Java。感谢转到此页面 - http://clearspace.openqa.org/thread/14502

答案 1 :(得分: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

我很丢失。