我正在尝试使用phpunit运行SeleniumTestCase,但无法使其与phpunit.bat脚本一起运行。

我的目标是在CruiseControl和phpUnderControl中将phpunit与Selenium RC一起使用。 这是测试的样子:

require_once 'PHPUnit/Extensions/SeleniumTestCase.php';

class WebTest extends PHPUnit_Extensions_SeleniumTestCase
{
    protected function setUp()
    {
        $this->setBrowser('*firefox');
        $this->setBrowserUrl('http://www.example.com/');
    }

    public function testTitle()
    {
        $this->open('http://www.example.com/');
        $this->assertTitleEquals('Example Web Page');
    }
}

我还在Selenium扩展安装的include_path和PHPUnit中安装了PEAR。 我用pear安装程序安装了这些,所以我想这不是问题。

任何帮助将不胜感激。

谢谢,雷米

===============>>#1 票数:16

希望这是一个比这里给出的答案更明确的答案(这并没有解决我的问题)。 如果出现此错误,请检查您的PEAR文件夹,并查看“ SeleniumTestCase.php”文件是否实际存在:

/PEAR/PHPUnit/Extensions/SeleniumTestCase.php

如果不是,最简单的方法是使用PEAR卸载并重新安装PHPUnit。

pear uninstall phpunit/PHPUnit

pear uninstall phpunit/PHPUnit_Selenium

pear install phpunit/PHPUnit

完成上述操作并仅执行单个安装后,PHPUnit_Selenium也已自动安装,我不确定这是否是典型的,因此可能必须要做的事情...

pear install phpunit/PHPUnit_Selenium

如果需要,还请参见http://www.phpunit.de/manual/3.5/en/installation.html了解PEAR频道信息...

===============>>#2 票数:6

这是交易:

如果您遇到“在(测试用例文件名)中找不到类PHPUnit_Extensions_SeleniumTestCase”的问题,则必须执行以下两项操作:

1.将测试用例的文件重命名为它包含的类的名称 。2.您应该从 包含 测试的文件夹中启动phpunit。

这应该可以解决您的问题。

安德鲁

===============>>#3 票数:1

我发现PHPUnit教程中的以下示例正在工作,而我编写的测试中出现了相同的错误。 解决方案令人惊讶。 确保您的课程位于<?php .. ?>块内,而不是<? .. ?> <? .. ?>脚本中的代码块。

<?php
require_once 'PHPUnit/Framework.php';

class StackTest extends PHPUnit_Framework_TestCase
{
    public function testPushAndPop()
    {
        $stack = array();
        $this->assertEquals(0, count($stack));

        array_push($stack, 'foo');
        $this->assertEquals('foo', $stack[count($stack)-1]);
        $this->assertEquals(1, count($stack));

        $this->assertEquals('foo', array_pop($stack));
        $this->assertEquals(0, count($stack));
    }
}
?>

===============>>#4 票数:1

尝试:

class WebTest extends \PHPUnit_Extensions_Selenium2TestCase

对我来说,这可能是名称空间问题。

===============>>#5 票数:1

不要以为安装梨没有问题。

我已经通过梨安装了phpunit,但是尽管它说当我查看文件夹时安装也很好,但是我所有这些文件都以.tmp开头,例如PHPUnit / Util / .tmpErrorHandler.php,当我对第一个进行测试时很自然时间给了我与上面相同的错误。 在检查完确实没有该文件之后,我手动将PHPUnit安装到与pear和alas相同的文件夹中,一切都很好。 我在Mac /豹子上。

关于Selenim RC不要忘记通过在终端java -jar /path/to/file/selenium-server.jar中运行来启动它

===============>>#6 票数:1

看看php手册中require_once条目中的注释之一。

http://ie.php.net/manual/zh/function.require-once.php#62838

“ require_once(以及该问题的include_once)很慢

此外,如果您计划使用单元测试和模拟对象(即在要测试的类中包含真实的模拟类之前包括模拟类),则它将无法正常工作,因为require()会加载文件而不是类。”

===============>>#7 票数:1

我只是将测试所在的文件重命名为“ WebTest.php”(它包含的类的名称),并且测试现在可以正常运行。

===============>>#8 票数:1

这是我解决此问题的方法:

  1. 确保已安装php的curl扩展,例如ubuntu sudo apt-get install php5-curl
  2. 输入sudo pear install phpunit/PHPUnit_Selenium

之后,您应该安装丢失的文件

祝您编程愉快...

===============>>#9 票数:0

当它失败时,它并不总是打印出最冗长的错误消息。

始终记得在运行测试之前也要启动Selenium。

java -jar selenium-server-standalone-2.39.0.jar

这是一个为自己工作的代码示例。 http://www.siteconsortium.com/h/p1.php?id=php002 显然,编写测试套件和启动测试用例有很多不同的方法,但是我首先使用set_class_path摆脱了类问题。

===============>>#10 票数:0

好吧,当我使用内联命令:如果从PhPunit目录启动测试时我有错误,而从测试目录中启动它时我没有错误...

但是我仍然没有进入硒服务器的权限...我是否必须先启动它。

如果是,很奇怪我们没有为PhPUnit指定任何句柄...

  ask by Remy translate from so

未解决问题?本站智能推荐:

1回复

找不到类“ PHPUnit_Extensions_SeleniumTestCase”

我根据这里使用composer安装了phpunit-selenium; https://phpunit.de/manual/3.7/en/selenium.html 问题是我只有硒2用于phpunit。 PHPUnit_Extensions_Selenium2TestCase.php在
2回复

cruisecontrol phpunit不创建任何输出

我似乎无法弄清楚为什么即使我已经进行了测试,phpunit目标也不输出任何测试结果。 我发现的问题是没有任何问题的迹象! 令人难以置信的令人沮丧。 输出如下: 我的build.xml如下: 我的系统:Vista,PHP 5.2.9,PHPUnit 3.4,PHPUn
5回复

phpUnderControl和PHPUnit总是使用代码255进行构建失败

我在phpUnderControl中设置了以下build.xml文件。 出于某些未知原因,构建总是失败并显示以下消息。 我在单元目录中手动运行非常简单的单元测试,PHPUnit返回。 当所有测试都没问题时,有谁知道它为什么一直失败? 我的构建脚本确实有一个删除和记录
3回复

在Windows上安装phpUnderControl时的PHPUnit问题

在让phpUnderControl在我的Windows 7计算机上运行时遇到了问题,一直在网上搜索答案,但是记录很多问题确实很糟糕... (a。)Cruise Control作为Windows服务安装并启动并运行 ->位置:C:\\ Program Files(x86)\\ C
2回复

有没有办法将RC RC Selenium测试错误/失败记录到数据库中?

我使用phpunit和phpundercontrol在每个版本上运行RC Selenium。
2回复

有没有一种方法可以在使用PHPUnit_Extensions_SeleniumTestCase的测试过程中设置Cookie?

我有一个应用程序,该应用程序通过设置为我的应用程序域的cookie使用外部服务。 在开发过程中,我手动创建此cookie,但在生产中,此cookie将通过登录生成。 在为此外部服务运行测试之前,是否可以使用在开发过程中设置的cookie? 我猜想我可以使用curl来实现一点自动化,但是
2回复

PhpUnderControl持续集成设置中的Git日志错误

因此,我为PHP项目设置了以下内容: 一个包含所有代码的Git存储库。 在其顶部运行PhpUnderControl的Cruisecontrol实例。 我在cruisecontrol项目目录中创建了一个新项目,并设置了一个轮询器,每2分钟检查一次git repo的更改。
1回复

在哪里可以找到PHPUnit_Extensions_SeleniumTestCase?

我已经安装了Selenium IDE / RC和PHPUnit 3.5(PEAR),但是似乎找不到PHPUnit_Extensions_SeleniumTestCase。 当我输入pear install phpunit/PHPUnit_Selenium ,出现以下错误: phpun
3回复

如何在PHPUnit_Extensions_SeleniumTestCase中访问存储的值

如何在Selenium-RC中存储一个值(通过PHPUnit),然后使用PHPUnit检索/访问它? 假设我在测试中运行如下命令: 如果我正确理解Selenium API文档,我可以使用javascript{storedVars['foo']}使用优秀的'老式Selenese来访问
5回复

PHPUnit的代码覆盖率

我在尝试确定我们网站上的代码覆盖率时遇到了问题。 我有PHPUnit生成一个HTML代码覆盖率报告,同时在我们的三个应用程序上运行我们的单元测试。 我们有一个公共应用,管理应用和报告应用。 我想以某种方式将这些组合成一个代码覆盖率报告,因为应用程序共享代码。 似乎代码覆盖率仅计算测试