phpunit selenium2重复测试无法正常工作

时间:2017-11-29 07:18:03

标签: selenium selenium-webdriver phpunit laravel-5.2 selenium-chromedriver

我正在尝试用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浏览器在第一次测试期间只打开一次,稍后再尝试再次打开它。

1 个答案:

答案 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();

}