Der Panther ist los

Panther: Eine Browser-Test- und Web-Scraping-Bibliothek für PHP und Symfony
Keine Kommentare

Panther, die neue Bibliothek für Browser-Test- und Web-Scraping liegt in Version 0.1.0 vor. Es handelt sich um eine Standalone-Bibliothek, die in PHP und Symfony verwendet werden kann. Wir werfen einen Blick auf die bereits vorhandenen Funktionen.

Die neue Bibliothek Panther, die für Browser-Test- und Web-Scraping in PHP und Symfony genutzt werden kann, ist in Version 0.1.0 auf GitHub erschienen. Die Standalone-Bibliothek Panther kann genutzt werden, um Webseiten zu scrappen und End-to-End-Tests mit Browsern durchzuführen. Dabei greift Panther auf das WebDriver Protocol des W3Cs zurück, um native Webbrowser wie Google Chrome und Firefox zu steuern. Die Library implementiert das Symfony BrowserKit und DomCrawler-APIs, um Apps zu testen.

Was kann Panther 0.1.0?

Panther kann in jedem PHP-Projekt verwendet werden, da es sich um eine eigenständige Bibliothek handelt. Das Tool soll automatisch die lokale Chrome-Installation finden und dank ChromeDriver starten können, sodass es laut GitHub keiner weiteren Installation bedarf – weder eines Selenium-Servers noch anderer Treiber. Im Testmodus startet Panther automatisch die Anwendung mit dem in PHP integrierten Web-Server.

Anders als andere Test- und Web-Scraping-Bibliotheken führt Panther in den Webseiten enthaltenen JavaScript-Code aus und unterstützt alle von Google Chrome und Firefox implementierten Funktionen. Darüber hinaus ermöglicht Panther Screenshots und kann auf das Erscheinen asynchroner Elemente warten. Zudem können eigener JS-Code und XPath-Abfragen im Kontext der geladenen Seiten ausgeführt werden.

Panther unterstützt benutzerdefinierte Selenium-Server-Installationen und Remote-Browser-Testdienste (einschließlich SauceLabs und BrowserStack).

Panther installieren

Um Panther im eigenen Projekt zu installieren benutzt man Composer. Wenn Panther nur zum Testen und nicht zum Web-Scraping verwendet werden soll, kann man das Flag --dev verwenden.

composer req symfony/panther:dev-master

composer req --dev symfony/panther:dev-master

Bereits einige Dokumentationen

Panther implementiert die APIs gängiger Bibliotheken, wodurch bereits einige Dokumentationen zu den einzelnen Klassen vorliegen:

Beispiele zum Testen einer Symfony-Anwendung mit Panther sowie nähere Informationen zu weiteren Unterstützungen und Einschränkungen des Tools finden sich auf GitHub.

Kévin Dunglas, Mitglied des Symfony Core-Teams und Erfinder von Panther, nutzt Panther, um eine Nachrichten-Website und das entsprechende funktionale Testsuite zu erstellen. Eine Anleitung dazu findet sich auf dem Symfony Blog.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -