PHP und Symfony: Bibliothek Panther erreicht Version 1.0

Entwickler können mit Panther Webseiten scrapen und End-to-End-Tests mit Browsern durchführen.

In Pocket speichern vorlesen Druckansicht 4 Kommentare lesen

(Bild: Julia Raketic / Shutterstock.com)

Lesezeit: 2 Min.

Zwischen Version 0.1.0 und 1.0 liegen zwei Jahre Entwicklungszeit: Die Browser-Testing- und Web-Scraping-Bibliothek Panther liegt in der ersten Major Version vor. Die Standalone-Bibliothek steht Entwicklerinnen und Entwicklern für die Nutzung in PHP und Symfony zur Verfügung und basiert auf der WebDriver W3C-Spezifikation. Mit ihr lassen sich Webseiten scrapen und End-to-End-Tests mit Browsern durchführen.

Chrome und Firefox bringen bereits native Unterstützung für Panther mit. Safari, Edge und Opera benötigen eine zusätzliche Konfiguration. Auch Cloud-Testing-Anbieter wie Sauce Labs und Browserstack werden unterstützt.

Das Symfony-Team arbeitet an einer unkomplizierten JavaScript-Integration in das Framework. Panther bringt eine Implementierung für die BrowserKit-API mit, um das Framework im Symfony-Umfeld leichter verwenden zu können. Bestehende funktionale Tests lassen sich daher mit Panther in einem Browser offenbar fast ohne Codeänderung ausführen. Mit JavaScript erweiterte Twig-Templates lassen sich beispielsweise mit dem Testing-Framework PHPUnit testen.

Panther startet automatisch einen Webserver, der die Anwendungen und Browsertreiber exportiert – ein Selenium Server wird nicht benötigt. Anschließend verwendet Panther die PHP WebDriver-Bibliothek, um den Vorgang auszuführen.

Mit Version 1.0 erhält Panther eine neue Anweisung für Symfony Flex (Flex Recipe), die die benötigte Konfiguration generiert. Symfony Flex dient der Verwaltung von Symfony-Anwendungen. Es basiert auf Symfony Recipes, einer Reihe von automatisierten Anweisungen zur Integration von Drittanbieter-Paketen in Symfony-Anwendungen. Mit composer req --dev panther phpunit lassen sich Panther und die PHPUnit-Integration (oder auch andere Testing-Tools) in ein beliebiges Symfony-Projekt integrieren.

Die Macher des Frameworks fügen Panther mit dem Update neue Assertionen hinzu. Neben denen, die von PHPUnit und Symfony bereitgestellt wurden, ermöglichen die neuen nun das Testen von JavaScript- und CSS-gesteuerten Webseiten.

Nähere Informationen zu Panther 1.0 finden sich im Ankündigungsbeitrag auf dem Symfony-Blog und auf GitHub.

(mdo)