我是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
答案 0 :(得分:4)
通过将此行添加到PHP文件来解决它:
require_once 'vendor/autoload.php';
我没有看到过这方面的教程,但可以在github项目中找到它