Funktionale Tests

Funktionale Tests mit Selenium und PloneSelenium.

Selenium

  1. Laden Sie das Selenium-Produkt für Zope und Plone herunter und entpacken es: selenium-0.5.0-python-plone.zip.

  2. Kopieren Sie das Selenium-Verzeichnis in das Products-Verzeichnis Ihrer Zope-Instanz.

  3. Sofern Ihre Zope-Instanz nicht im Debug-Modus läuft, starten Sie diese neu.

  4. Installieren Sie mit dem Plone QuickInstaller das Selenium-Produkt.

  5. Der Standard-Selenium-Selbsttest sollte dann verfügbar sein unter http://MYSITE/TestRunner.html

    Die TestRunner.html-Datei finden Sie unter:

    INSTANCE_HOME/Products/Selenium/skins/selenium_javascript/tests/TestRunner.html.dtml
    

    Sie verweist auf testSuite.html:

    INSTANCE_HOME/Products/Selenium/skins/selenium_javascript/tests/TestSuite.html.dtml
    

PloneSelenium

PloneSelenium macht Selenium in Plone verfügbar.

  1. Laden Sie "PloneSelenium":http://sourceforge.net/project/showfiles.php?group_id=74634&package_id=152432 herunter und entpacken es im 'Products' -Verzeichnis Ihrer Zope-Instanz.
  2. Starten Sie Ihre Zope-Instanz sofern Sie nicht im Debug-Modus läuft.
  3. Verwenden Sie den Plone QuickInstaller um PloneSelenium zu installieren.
  4. Anschließend ist Plone Selenium im Plone-Konfigurationsmenü unter Plone Selenium TestRunner verfügbar.

Achtung: Sie sollten anonymer Nutzer sein bevor Sie die Tests starten. Haben Sie sich jedoch als Manager im ZMI angemeldet, wird der Browser Ihre Legitimation auch dann senden, wenn Sie sich auf der Website abgemeldet haben.

Melden Sie sich als einer der von PloneSelenium angelegten Beispielnutzer an, z.B. als sampleadmin, so können Sie dies aus Sicherheitsgründen nur lokal – das Passwort admin wird von PloneSelenium einheitlich vergeben und ist daher auch dritten bekannt. Falls Sie mit einem dieser Nutzer auch von entferneten Computern Ihre Website testen möchten, sollten Sie zunächst das Passwwörter ändern und die Beschränkung auf die lokale Domain für diese Nutzer aufheben.

Funktionale Tests schreiben

PloneSelenium erlaubt das Schreiben flexiblerer Tests als mit der üblichen HTML-Tabelle von Selenium.

  1. Um eigene Tests für PloneSelenium zu schreiben, kopieren Sie am besten das python-Skript aus INSTANCE_HOME/Products/PloneSelenium/skins/PloneSelenium/get_plone_workflow_ftests.py in das Skins-Verzeichnis Ihres eigenen Produkts und benennen es um.
  2. Modifizieren Sie das Skript Ihren Bedürfnissen entsprechend.
  3. Um Ihr Skript im Plone Selenium Tool verfügbar zu machen, müssen Sie es in http://MYSITE/portal_selenium/manage_editActionsForms anmelden.

Funktionale Tests ablaufen lassen

Sollen auch Uploads getestet werden, müssen vorübergehend bestimmte Sicherheitseinstellungen geändert werden:

  • In der Firefox-Konfiguration muss signed.applets.codebase_principal_support auf den Wert true gesetzt werden, damit die Selenium Skripte mit höheren Privilegien ausgeführt werden können.

  • Zudem muss Selenium noch höhere Privilegien erhalten um lokale Dateien hochladen zu können. Dies wird erreicht mit dem Aufruf:

    netscape.security.PrivilegeManager.enablePrivilege(”UniversalFileRead”);
    

    in der Funktion function Selenium.prototype.doType in der Datei selenium-api.js.