致命错误:* .php中找不到类'PHPUnit_Extensions_Selenium2TestCase'

时间:2015-10-29 06:46:32

标签: selenium selenium-webdriver phpunit

我是Seleniu的新手,我正在尝试使用Selenium 2设置PHPUnit,遵循本教程https://www.youtube.com/watch?v=zva_GETXimI

到目前为止,这就是我所做的:

按照此处https://phpunit.de/manual/current/en/installation.html

的说明使用PHAR安装PHPUnit

已安装的Selenium Server

升级到PHP5.6(但我的Apache仍然是2.22而不是2.4)

使用Composer安装PHPUnit_selenium包

创建了一个testLogin.php文件:

<?php

class testLogin extends PHPUnit_Extensions_Selenium2TestCase{

    public function setUp()


    {
        $this->setHost('localhost');
        $this->setPort(4444);
        $this->setBrowser('firefox');
        $this->setBrowserUrl('http://localhost/Achievers');
    }

}

当我使用'phpunit testLogin.php'运行testLogin.php时出现错误:

在第5行的/home/osadmin/projects/Sel/testLogin.php中找不到类'PHPUnit_Extensions_Selenium2TestCase'

由于我刚刚开始,我不知道如何解决这个问题。在谷歌上搜索错误,它显示将此行添加到我的PHP文件:

require_once('PHPUnit/Extensions/Selenium2TestCase.php');

但是我不知道如何使用它,因为没有PHPUnit文件夹,只是链接到PHAR的文件。

有人可以说明如何解决这个问题吗?

感谢。

修改

根据Ushakov的建议,我尝试了/path/to/phpunit.phar testLogin.php

但它也会出现同样的错误。

如果我将此行添加到testLogin.php:require_once('/usr/local/bin/phpunit');

并运行/path/to/phpunit.phar testLogin.php

我明白了:

#!/usr/bin/env php
PHP Notice:  Constant __PHPUNIT_PHAR__ already defined in /usr/local/bin/phpunit on line 18
PHP Notice:  Constant __PHPUNIT_PHAR_ROOT__ already defined in /usr/local/bin/phpunit on line 19
PHP Fatal error:  Cannot redeclare class DeepCopy\DeepCopy in phar:///usr/local/bin/phpunit/myclabs-deep-copy/DeepCopy/DeepCopy.php on line 15

1 个答案:

答案 0 :(得分:4)

通过将此行添加到PHP文件来解决它:

require_once 'vendor/autoload.php';

我没有看到过这方面的教程,但可以在github项目中找到它