我正在尝试用selenium2运行phpunit来测试我的php代码。
php version : 5.6
laravel version : 5.2
phpunit vesrion : PHPUnit 3.7.28 by Sebastian Bergmann.
启动selenium服务器的初始命令:
java -Dwebdriver.chrome.driver=/usr/bin/chromedriver -jar ~/Downloads/selenium-server-standalone-3.4.0.jar
Mytest.php
class Mytest extends PHPUnit_Extensions_Selenium2TestCase
{
public function setUp() {
$this->setHost('localhost');
$this->setPort(4444);
$this->setBrowserUrl('http://www.example.com');
$this->setBrowser('chrome'); // firefox
//parent::setUp();
}
public function tearDown() {
$this->stop();
//parent::tearDown();
}
public function testcheckhere(){
$this->url("http://www.google.com");
sleep(5);
}
}
当我使用以下命令通过命令行运行上述代码时:
vendor/bin/phpunit --filter testcheckhere --verbose --repeat 2 --log-junit textexe.xml tests/selenium/MyTest.php
我收到以下错误:
PHPUnit 5.7.9 by Sebastian Bergmann and contributors.
Runtime: PHP 5.6.31-2+ubuntu14.04.1+deb.sury.org+1
Configuration: /var/www/html/CRM/phpunit.xml
.E 2 / 2 (100%)
Time: 9.04 seconds, Memory: 6.25MB
There was 1 error:
1) Mytest::testcheckhere
PHPUnit_Extensions_Selenium2TestCase_WebDriverException: Build info: version: '3.4.0', revision: 'unknown', time: 'unknown'
System info: host: 'lp-0500', ip: '127.0.0.1', os.name: 'Linux', os.arch: 'amd64', os.version: '3.13.0-43-generic', java.version: '1.8.0_151'
Driver info: driver.version: unknown
/var/www/html/mycode/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Driver.php:165
/var/www/html/mycode/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Driver.php:175
/var/www/html/mycode/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/CommandsHolder.php:100
/var/www/html/mycode/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase.php:394
/var/www/html/mycode/tests/selenium/MyTest.php:29
/var/www/html/mycode/tests/selenium/MyTest.php:29
/var/www/html/mycode/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase.php:348
/var/www/html/mycode/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase.php:314
ERRORS!
Tests: 2, Assertions: 0, Errors: 1.
同样在测试运行时,Chrome浏览器在第一次测试期间只打开一次,稍后再尝试再次打开它。
答案 0 :(得分:-2)
php版本:5.6 laravel版本:5.2 phpunit vesrion:Sebastian Bergmann的PHPUnit 3.7.28。
在Xampp文件夹中更新您的PHPUnit版本,如:
1-在此处下载最新版本的PHPUnit:https://phpunit.de/index.html 2-复制“C:\ xampp \ php”中的“phpunit.phar”。 3-在文件:“phpunit.bat.bat”中,更新以下行:"%PHPBIN%" " C:\ XAMPP \ PHP \ PHPUnit的" %*到:"%PHPBIN%" " C:\ XAMPP \ PHP \ phpunit.phar" %*
你有版本兼容性问题,一旦你的php版本和phpunit版本将相互兼容,那么你的应用程序将运行没有问题。下载 phpunit.phar 文件版本5.7.26,因为它将与您的PHP版本兼容
同时删除你的功能:
public function tearDown(){ $这 - >停止();
//parent::tearDown();
}