На виртуальной машине (чистый, свежий сервер Ubuntu 11.04) я создал тестовый веб-сайт, как описано в Создание вашего первого приложения Yii , и теперь я хочу создать простой тест с использованием webdriver-test .
Я установил правильный TEST_BASE_URL в защищенном / tests / WebTestCase.php и создал защищенный / tests / функциональный / MySimpleTest.php
<?php
Yii::import( 'ext.webdriver-bindings.CWebDriverTestCase' );
class MySimpleTest extends CWebDriverTestCase {
protected function setUp() {
parent::setUp( '192.168.57.1', 4444, 'firefox' );
}
public function testMySite() {
$this->get( TEST_BASE_URL );
$qElem = $this->findElementBy( LocatorStrategy::linkText, 'Users' );
$this->assertNotNull( $qElem, 'There is no "Users" link!' );
$qElem->clickAndWait();
$this->assertTrue( $this->isTextPresent( 'test1@example.com' ), 'The is no "test1@example.com" text on result page!' );
}
}
Запуск выглядит так:
etam@ubuntu:/var/www/test/protected/tests$ phpunit functional/MySimpleDbTest.php
PHPUnit 3.5.15 by Sebastian Bergmann.
E
Time: 5 seconds, Memory: 5.25Mb
There was 1 error:
1) MySimpleTest::testMySite
PHPUnit_Framework_Exception: setBrowserUrl() needs to be called before start().
/opt/yii-1.1.8.r3324/framework/test/CWebTestCase.php:61
/var/www/test/protected/extensions/webdriver-bindings/CWebDriverTestCase.php:156
FAILURES!
Tests: 1, Assertions: 0, Errors: 1.
Обратите внимание, что он жалуется на setBrowserUrl () из PHPUnit_Extensions_SeleniumTestCase_Driver, который отличается от CWebDriverTestCase.
Я пытался выяснить, что происходит, но это слишком сложно для меня. Похоже, проблемы со старым и новым API селеном существуют вместе, но я не уверен в этом.
Я использую:
- Ubuntu server 11.04
- yii 1.1.8.r3324
- webdriver-test 1.1b
- phpunit 3.5.15 (исправлено, как описано в bugs.launchpad.net/ubuntu/+source/phpunit/+bug/701544)
Пожалуйста, помогите!