2011-09-27 8 views
5

가상 머신 (깨끗하고 신선한 우분투 서버 11.04)에서 나는 Creating Your First Yii Application에 설명 된대로 테스트 웹 사이트를 만들었으며 이제는 webdriver-test을 사용하여 간단한 테스트를 만들고 싶습니다. webdriver-test를 사용할 수 없습니다.

는 나는 다음과 같습니다 실행
<?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('[email protected]'), 'The is no "[email protected]" text on result page!'); 
    } 
} 

MySimpleTest.php

/보호/테스트/WebTestCase.php에 적절한 TEST_BASE_URL를 설정하고 테스트/기능/보호 만든 :

[email protected]:/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. 

공지 사항이 PHPUnit_Extensions_SeleniumTestCase_Driver에서 setBrowserUrl()에 대한 불만이 있습니다. 이는 CWebDriverTestCase의 것과 다릅니다.

나는 무슨 일이 일어나는지 알아 내려고했지만, 너무 복잡합니다. 오래된 셀렌 API와 새로운 셀렌 API가 함께 존재하는 것처럼 보이는 것처럼 보이지만 확실하지 않습니다.

내가 사용하고 있습니다 : 11.04

  • YII

    • 우분투 서버 1.1.8.r3324
    • webdriver 테스트 1.1B
    • bugs.launchpad에 설명 된대로 phpunit을 3.5.15 (수리 .net/우분투/+ 소스/phpunit/+ 버그/701544)

    도와주세요!

  • +0

    이 문제도 발생합니다. setBrowserUrl 메서드는 $ browserUrl 속성이 아닌 $ baseUrl 속성을 설정합니다. – jcfollower

    답변

    0

    parent :: setup() 메소드 바로 다음에 setBrowseUrl() 메소드를 호출해야합니다. 셀레늄은 테스트 케이스의 상대 경로를 확인하기 위해이 URL을 필요로하기 때문입니다. 따라서이 방법을 사용하면 open ('full.url.com/someAction') 또는 open ('/ someAction')을 호출 할 수 있으며 둘 다 같은 페이지로 이동합니다.

    관련 문제