Von der Version 0.1.0 bis Version 1.0 brauchte es zwei Jahre Entwicklungszeit, und endlich liegt die Browser-Testing- und Web-Scraping-Bibliothek Panther in der ersten Hauptversion vor.
Die Standalone-Bibliothek basiert auf der WebDriver W3C-Spezifikation und steht jetzt für alle Entwickler zur Nutzung mit PHP und Symfony bereit. Mit ihr lassen sich Webseiten scrappen und End-to-End-Tests mit Browsern durchführen.
In Chrome und Firefox ist die native Unterstützung für Panther schon eingebaut. Die Browser Safari, Edge und Opera brauchen dazu noch eine zusätzliche Konfiguration. Die Software unterstützt auch Cloud-Testing-Anbieter wie zum Beispiel Sauce Labs und Browserstack.
Integration mit JavaScript
Bei Symfony arbeitet das Team an einer unkomplizierten JavaScript-Integration in das Framework. Dazu kommt Panther mit einer Implementierung für die BrowserKit-API, mit der man das Framework im Symfony-Umfeld einfacher nutzen kann.
Deshalb lassen sich bestehende funktionale Tests mit Panther in einem Browser fast ohne Codeänderungen ausführen. Per JavaScript erweiterte Twig-Templates kann man beispielsweise mit dem Test-Framework PHPUnit testen.
Panther startet automatisch einen Webserver, der die Anwendungen und Browsertreiber exportiert – es braucht also keinen Selenium Server. Danach verwendet Panther die PHP WebDriver-Bibliothek, um den Vorgang durchzuführen.
Neue Flex Recipes und Assertionen
In der neuen Version 1.0 erhält Panther eine neue Anweisung für Symfony Flex (Flex Recipe), welche die benötigte Konfiguration erzeugt. Mit Symfony Flex werden die Symfony-Anwendungen verwaltet.
Das basiert auf den Symfony Recipes, einer Anzahl von automatisierten Anweisungen zur Integration von Drittanbieter-Paketen in Symfony-Anwendungen. Mit der Anweisung composer req –dev panther phpunit kann man Panther und die PHPUnit-Integration (oder andere Testing-Tools) in beliebige Symfony-Projekte einbauen.
Die Entwickler des Frameworks fügen Panther mit dem Update auf Version 1.0 auch neue Assertionen hinzu. Neben denen, die schon mit PHPUnit und Symfony kommen, gestatten die neuen jetzt auch das Testen von JavaScript- und CSS-gesteuerten Webseiten.
Weiter Informationen zu Panther 1.0 finden Sie im Symfony-Blog und auf GitHub.