Skip to content

Selenium Tests mit NetBeans und PHP

Selenium-Tests können elegant direkt in NetBeans für PHP erstellt und aus NetBeans heraus ausgeführt werden. Leider funktioniert das unter bestimmten Umständen nicht out-of-the-box, sondern macht einige Kniffe notwendig.

NetBeans-Plugin installieren

Ich gehe davon aus, dass ihr alles notwendige für die PHP-Entwicklung installiert habt. Das schließt PHPUnit ein, auf das die Selenium-Tests zurückgreifen. Wie man Selenium in PHPUnit integriert, wird hier ausführlich beschrieben.

Auf meinem Ubuntu-Rechner mit NetBeans 6.9.1 und Firefox 3.6.12 lässt sich das Selenium Module for PHP aus dem NetBeans Beta-Repository einfach installieren: Unter "Extras > Plugins > Einstellungen" das Häkchen bei "NetBeans Beta" setzen, dann steht das Selenium-Modul zur Auswahl und kann installiert werden. Anschließend lässt sich nach Rechtsklick auf das Projekt im Projektmanager der Punkt "Run Selenium Tests" aus dem Kontextmenü auswählen. Zunächst muss ein Verzeichnis ausgewählt werden, in dem die Testdateien abgelegt werden. Ich habe den Ordner selenium direkt neben nbprojects in meinem Projektverzeichnis angelegt und als Testverzeichnis ausgewählt.

Da wir noch keine Testdateien erstellt haben, wird auch noch nichts ausgeführt, aber das Verzeichnis wird als Selenium Test Files aufgeführt. Wiederum über das "Kontextmenü > Neu" kann jetzt ein "Selenium Test Case for PHP" erstellt werden. Dabei legt NetBeans freundlicherweise schon das Code-Gerüst für den neuen Test-Case an. Natürlich kann, wer möchte, auch manuell Test-Cases im Test-Verzeichnis anlegen oder den PHP-Code aus der Selenium IDE (= Firefox-Extension) herausgenerieren lassen. Die NetBeans-Vorlage sieht etwa wie folgt aus.

require_once 'PHPUnit/Extensions/SeleniumTestCase.php';

class newSeleneseTest extends PHPUnit_Extensions_SeleniumTestCase
{
    protected function setUp()
    {
        $this->setBrowser("*chrome");
        $this->setBrowserUrl("http://change-this-to-the-site-you-are-testing/");
    }

    public function testMyTestCase()
    {
        
    }
}

Unabhängig davon, welchen Test man in testMyTestCase() implementieren möchte, gilt es jetzt noch einige Stolpersteine aus dem Weg zu räumen.

"Selenium Tests mit NetBeans und PHP" vollständig lesen

Barcamp Darmstadt

Logo Barcamp DarmstadtIn gut zwei Wochen, am 20. und 21. November, findet in Darmstadt das zweite Barcamp Rhein-Main statt. Die Teilnehmerliste ist bereits jetzt erfreulich lang, und einige Session-Vorschläge sind auch schon eingegangen.

Technische Themen scheinen jedenfalls nicht zu kurz zu kommen, was mich persönlich freut. Schließlich werden einige Teilnehmer an unserer PHP Usergroup auch auf dem Barcamp sein und dort etwas aus der PHP-Praxis zum Besten geben. Außerdem nehmen offenbar auch weitere ausgewiesene PHP-Experten am Barcamp teil. Alle, die es nicht so technisch mögen, müssen sich aber dennoch keine Sorgen machen. Die Erfahrung hat gezeigt, dass das Themenspektrum auf Barcamps immer sehr breit gefächert ist.

Im Übrigen freut sich das Barcamp-Team über jeden, der bei der Durchführung des Camps mithelfen will: Sei es bei der Anmeldung, beim Auf- und Abbau oder bei der Essensausgabe. Also nur keine falsche Zurückhaltung. Und ich freue mich auf interessante Sessions und Gespräche auf dem #bcda. Wir sehen uns in Darmstadt!

Google releases OpenID demo store and mod_pagespeed

Google just released two interesting projects into the wild. One is an OpenID demo store with accompanying documentation, the other an open-source module for the Apache web server.

Google's OpenID demo store

Although OpenID has seemingly been adopted by all major players on the web (aside from Facebook, maybe), I wonder how often their users log in with their OpenID. Most smaller sites are afraid of the overhead of an OpenID implentation, or simply don't know how to do it. Now, Google set up a sample store that makes heavy use of OpenID. Equally important, it's supplemented by an extraordinary documentation. As Carsten correctly states, such a documentation was needed for quite some time. It will be interesting to see if any larger online shops jump on the bandwagon an implement OpenID for their businesses.

mod_pagespeed

According to Google, page loading times become increasingly important, not only for the customer experience, but also for the ranking in Google's search index. Performance hints and tools are abundant on the web, but Google goes even beyond those recommendations and released an extension for the popular Apache web server: mod_pagespeed. I installed it on my local box, but there are lots of options, and I haven't found the time yet to fiddle with them all. It seems that you can achieve most of the optimizations by optimizing your default Apache installation. However, mod_pagespeed might make configuration a lot easier. I guess, we'll have to wait and see.