In diesem Artikel möchten wir Ihnen eine Einführung in PHP Tests mit Codeception geben. Das Testframework eignet sich zum Testen von Webanwendungen und Webservices. Es basiert auf der Programmiersprache PHP. Eine große Erfahrung in PHP ist nicht nötig, um Testfälle mit Codeception zu schreiben. Lediglich einige Grundlagen reichen, um ein Testautomatisierungs-Framework zu entwickeln.
In Codeception werden die Tests in BDD (Behaviour Driven Design) geschrieben, was einfach zu verstehen ist und durch das Lesen der entwickelten Tests eine Vorstellung vom Verhalten des Systems vermittelt. Es bietet eine Möglichkeit, Akzeptanztests, Funktionstests und sogar Unit-Tests zu schreiben. Das folgende Beispiel in BDD-Stil ist ein Code-Snippet von Codeception:
$I->wantTo('Test meine Webseite');
$I->amOnPage('/');
$I->fillField('#login', 'qytera');
$I->fillField('#password', 'qytera');
$I->click('Log in');
$I->see('Die Experten in Continuous Testing und Testautomatisierung');
Wieso soll Dein QS-Team PHP Tests mit Codeception durchführen?
Codeception bietet mehrere Vorteile zum Testen von PHP Webanwendungen im Vergleich zu anderen Testautomatisierungswerkzeugen auf dem Markt, einige davon:
- Code leicht verständlich: Codeception-Aktionen (I see, I am on page, I wait, …) machen den Code einfach zu verstehen.
- Mit allen Backend-Frameworks kompatibel
- Test-Website mit mehreren Tabs kontrollieren (was z. B. in Cypress nicht unterstützt wird)
- Mit Basic PHP kann man schnell in Codeception einsteigen und mit Helper-Funktionen können komplizierte Aktionen ausgelagert werden.
- Alle Selektoren werden unterstützt (XPath, CSS-Selektoren, ...)
- Framework für alle Teststufen: Unittests, Rest-APIs und SOAP-Webdienste können getestet werden
Installation von Codeception
Vor der Installation von Codeception müssen zunächst einige Tools installiert werden:
- PHP (hier herunterladen)
- Composer (hier herunterladen)
- Java (hier herunterladen)
Um mehr über die Installation zu erfahren, finden Sie in der offiziellen Dokumentation des Codeception Frameworks alle Informationen, die Sie benötigen.
Mit folgendem Befehl werden die benötigten Dateien zur Erstellung der Projektstruktur erstellt:
composer require "codeception/codeception" --dev
Nach Ausführung des Befehls sieht die generierte Dateistruktur wie folgt aus: