5 Stimmen

Webdriver-test ist unbrauchbar

Auf einer virtuellen Maschine (sauberen, frischen Ubuntu-Server 11.04) habe ich eine Testwebsite erstellt, wie im Erstellen Ihrer ersten Yii-Anwendung beschrieben, und jetzt möchte ich einen einfachen Test mit webdriver-test erstellen.

Ich habe TEST_BASE_URL korrekt in protected/tests/WebTestCase.php eingerichtet und protected/tests/functional/MySimpleTest.php erstellt

get( TEST_BASE_URL );

        $qElem = $this->findElementBy( LocatorStrategy::linkText, 'Benutzer' );
        $this->assertNotNull( $qElem, 'Es gibt keinen Link "Benutzer"!' );

        $qElem->clickAndWait();

        $this->assertTrue( $this->isTextPresent( 'test1@example.com' ), 'Auf der Ergebnisseite befindet sich kein Text "test1@example.com"!' );
    }
}

Die Ausführung sieht so aus:

etam@ubuntu:/var/www/test/protected/tests$ phpunit functional/MySimpleDbTest.php
PHPUnit 3.5.15 von Sebastian Bergmann.

E

Zeit: 5 Sekunden, Speicher: 5.25Mb

Es gab 1 Fehler:

1) MySimpleTest::testMySite
PHPUnit_Framework_Exception: setBrowserUrl() muss vor Start() aufgerufen werden.

/opt/yii-1.1.8.r3324/framework/test/CWebTestCase.php:61
/var/www/test/protected/extensions/webdriver-bindings/CWebDriverTestCase.php:156

FEHLER!
Tests: 1, Behauptungen: 0, Fehler: 1.

Bemerkung: Es beschwert sich über setBrowserUrl() von PHPUnit_Extensions_SeleniumTestCase_Driver, was nicht dasselbe ist wie von CWebDriverTestCase.

Ich habe versucht herauszufinden, was los ist, aber es ist mir zu kompliziert. Es sieht so aus, als ob alte und neue Selenium-API zusammen existieren, aber ich bin mir nicht sicher.

Ich benutze:

  • Ubuntu-Server 11.04
  • Yii 1.1.8.r3324
  • webdriver-test 1.1b
  • PHPUnit 3.5.15 (repariert wie in bugs.launchpad.net/ubuntu/+source/phpunit/+bug/701544 beschrieben)

Bitte um Hilfe!

0voto

markdrake Punkte 624

Sie müssen die setBrowseUrl() Methode direkt nach der parent::setup() Methode aufrufen, da Selenium diese URL benötigt, um relative Pfade in Ihren Testfällen aufzulösen. Auf diese Weise können Sie open('volle.url.com/EinigeAktion') aufrufen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X