2010-02-24 11 views
10

Es scheint, es gibt sehr wenige Vergleich zwischen Selenium/WatiN und SimpleTest (die auch Web-Test-Funktionen hat).Selen vs SimpleTest vs WatiN

Ich versuchte Selen und fand die GUI groß, um Tests zu erstellen, wie Sie sehen können, was vor sich geht und notieren, ohne alle Befehle manuell einzugeben.

Selen ist wesentlich komplexer als SimpleTest. Für SimpleTest müssen Sie einfach ein PHP-Skript ausführen, das alle Tests (Client oder Browserseite) durchführt. Dies bedeutet, dass unabhängig von Browser oder Browser-Einstellungen Sie verwenden, können Sie einfach auf die Test-URL gehen und wird es genauso funktionieren.

Was hier nützlich wäre, sind einige Kommentare von Leuten, die Selenium oder WatiN verwendet haben: Warum ist Selen so berühmt? Mit anderen Worten, Was wäre der Hauptvorteil der Verwendung von Selen zum Beispiel über SimpleTest?

PS: Bitte schließen Sie Gründe wie "SimpleTest erfordert PHP" aus; das ist ziemlich offensichtlich, PHP ist in den meisten LAMP sowieso enthalten.

Antwort

9

Da Simple nur mit dem HTML-Inhalt einer Seite befasst können Sie nicht mit ihnen testen Seiten schalten, die verlassen sich auf JavaScript-Verhalten. Am Ende des Tages ist es ein Kompromiss zwischen Geschwindigkeit und Funktionalität.

  • Wenn Sie JavaScript-Funktionalität benötigen oder browserspezifisches Verhalten testen möchten, verwenden Sie Selenium.
  • Wenn Sie Geschwindigkeit und statische HTML-Seiten benötigen, verwenden Sie SimpleTest.

BTW, kann Selen in eine PHPUnit Testsuite integriert werden: http://www.phpunit.de/manual/3.1/en/selenium.html

+0

+1 für JavaScript & AJAX – Wernight

+0

@chiborg Gibt es eine Erweiterung für SimpleTest, um Javascript noch zu verwenden? Thx vor der Zeit! – HelpingHand

+0

@HelpingHand Dies wäre * sehr * schwierig in PHP zu implementieren, da Sie im Grunde einen kopflosen Browser erstellen müssten. Ein Alptraum, den man in reinem PHP implementieren kann. Werfen Sie einen Blick auf Phantom JS (http://phantomjs.org/), die einen Webkit-basierten Headless-Browser implementiert. Sehen Sie sich ein experimentelles Drupal-Projekt für Ideen an, wie SimpleTest und PhantomJS zu integrieren sind: https://drupal.org/project/simpletest_phantomjs – chiborg

14

Es gibt einen großen Unterschied zwischen SimpleTest's web-tester und die Selenium suite:

  • Selen arbeitet mit einem echten Browser:
    • Jedes Mal, wenn ein Test gestartet wird, eine echte Firefox, oder eine echte Internet Explorer, ist gestartet
    • Das gesamte Durchsuchen ist in diesem echten Browser
    • getan, was bedeutet, dass Sie alle das Javascript erhalten Funktionen aus dem Browser - d. h. Sie können vollständig dynamische Webseiten testen. Ist der HTML gesendet wird
      • Eine HTTP-Anforderung Inhalt abgerufen wird
      • Und der HTML-Inhalt
      • analysiert Es gewisses Maß an Features ist:
    • Simple Web-Tester einen Browser simuliert um Cookies und Formulare zu testen; aber nichts über Javascript


Ein paar Folgen und thoughs:

  • Selenium-Tests viel Zeit in Anspruch nehmen, auszuführen: einen Browser starten und Surfen (das ist der Download enthält JS/CSS/Bilder, alles anzeigen einschließlich der Anzeigen, ...), ist lang und langsam
  • Simple Tests schneller sein sollte: nur die HTTP-Anforderung senden, die HTML analysieren, und das ist es
  • Selen erfordert eine Maschine mit einer grafischen Oberfläche, den Browser zu starten, die eine grafische ist Software; Das bedeutet auch, dass es schwieriger zu installieren/zu konfigurieren ist
  • Selen ermöglicht es Ihnen Rich/Dynamic/Javascript-basierte Anwendungen viel besser zu testen, dass nur HTML abrufen und analysieren Wenn Sie eine PHP-Anwendung testen, wird PHPUnit im Allgemeinen als viel besser angesehen (es ist aktiv gepflegt und entwickelt, zumindest) dass SimpleTest; und PHPUnit hat die Unterstützung für Selenium-Tests


Ich würde eine combinaison sowohl empfehlen, wenn Sie können:

  • Test-HTML-related stuff mit Simple (Oder Zend_Test, wenn mit Zend Framework):
    • wird es schneller
    • diese Tests werden in einem Browser nicht abhängen
  • Test-dynamische Seiten mit Selen

dh verwenden Sie das Beste aus beiden

;-) Tool
+0

+1 für JavaScript & AJAX – Wernight

+4

Selenium 2 (WebDriver) kann eine einzige Lösung sein und HTMLUnitDriver zum Testen von Seiten verwenden, ohne dass ein Browser gestartet werden muss. –

+0

@DaveHunt Schön das zu wissen. Ich wollte Selenium 2 ausprobieren, aber ihre 10 Downloads mit wenigen Erklärungen ließen mich aufgeben. Ich warte auf den RC der ersten Veröffentlichung. – Wernight

0

nur eine weitere Option hinzuzufügen, arbeitet Testplan sowohl mit dem Selen Back-End und Htmlunit, so dass es ohne ein mit unseren verwendet werden kann Browser. Die Skriptsprache ist einfach und ermöglicht die schnelle Erstellung von Automatisierungsaufgaben.

Das browserlose Backend unterstützt JavaScript sehr gut, aber für die Fälle, in denen es einfach nicht funktioniert, wechseln Sie einfach in den Selenium-Modus und verwenden einen echten Browser.

+0

http://testplan.brainbrain.net/? – Wernight

0

Beachten Sie auch, dass SimpleTest die zu kopierende Drupal-Codebasis benötigt. Sie können Ihre Site nicht auf einer genauen Spiegelung Ihrer Produktionsstätte testen.

Grüße.