Benutzer:Chrisma0: Unterschied zwischen den Versionen

Aus Wikiversity
Zur Navigation springen Zur Suche springen
Zeile 21: Zeile 21:
   
 
==== Download / Dokumentation ====
 
==== Download / Dokumentation ====
Die Selenium IDE .xpi (Firefox add-on) ist nicht auf der [https://addons.mozilla.org offiziellen Mozilla Add-ons Webseite] verfügbar, sondern muss direkt von der Selenium [http://seleniumhq.org/download/ Downloadeite] heruntergeladen werden.
+
Die Selenium IDE .xpi (Firefox add-on) ist nicht auf der [https://addons.mozilla.org offiziellen Mozilla Add-ons Webseite] verfügbar, sondern muss direkt von der Selenium [http://seleniumhq.org/download/ Downloadeite] heruntergeladen werden. Viele Plugins für die IDE befinden sich jedoch auf der [https://addons.mozilla.org/en-US/firefox/search/?q=selenium Add-on Seite]. Es gibt eine ausführliche [http://seleniumhq.org/docs/02_selenium_ide.html Dokumentation] zur Selenium IDE die die einzelnen Elemente genau erklärt.
   
 
==== Einfaches Beispiel ====
 
==== Einfaches Beispiel ====

Version vom 17. Mai 2012, 21:24 Uhr

Web Tests mit Selenium

Was ist Selenium

Selenium ist ein Framework für Browserautomatisierung und Testframework für Webapplikationen. Es führt reale Interaktionen mit Webseiten durch. So kann Selenium z.B. automatisch einen Browser öffnen, zu einer URL navigieren, Text eingeben, einen Button anklicken danach testen ob die Fehlermeldung im resultierenden Popup auf der Seite die richtige ist. Damit kann viel normalerweise manuelles, zeitaufwändiges Testen (z.B. das Ausfüllen von Formularen) automatisiert werden. Selenium ist in Java implementiert und verwendet Firefox zur Ausführung der Tests und läuft somit auf allen Plattformen für die es diese Software gibt, inkl. Windows, Linux und Mac.[1]

Vorteile von Selenium

In den häufig eingesetzten Testingframeworks moderner Programmiersprachen, wie JUnit, RSpec etc. werden hauptsächlich Module oder Funktionen getestet. Dieser Ansatz funktioniert auch mit Webapps recht gut, so können z.B. die Controllerfunktionen (in einer Model-View-Controller Architektur) einer Webanwendung getestet werden. Auch die Interaktion per HTTP (GET, POST Requests) kann mit speziellen Bibliotheken recht bequem getestet werden. Bei interaktiven, mit viel Javascript und Ajax geschriebenen Seiten versagt dieser Ansatz. Das Javascript wird ausgeführt und interagiert mit dem Document Object Model (DOM) der Webseite. Dies ist mit den traditionellen Testingframeworks nicht testbar, da das Ausführen von Javascript nicht unterstützt wird. Dies ist verständlich, da sie hauptsächlich für das Testen der Entwicklungssprache gedacht sind. Statt nun Frameworks mit einem Javascriptinterpreter auszurüsten kann mit Selenium der Browser und deren - bereits bestehende und nachweislich funktionierende - HTML-Renderer und Javascript-Engines verwendet werden.

Entwicklung / Geschichte

Selenium wurde ursprünglich 2004 von der amerikanischen Firma ThoughtWorks entwickelt. Das Projekt ist freie Software und steht unter der Apache 2.0 Lizenz.[2]. Das Projekt wird von der Community weiterentwickelt, wobei auch Mitarbeiter von Google zum Projekt beitragen.[3]. Mehrere kommerzielle Firmen bieten Support für den professionellen Einsatz an.[4].

Selenium im Einsatz

Die Selenium IDE

Selenium kann in zwei verschiedenen Varianten eingesetzt werden:

  • Selenium IDE, ein Firefox Add-on das Browserinteraktionen aufzeichnen und wiedergeben kann und mit dem Tests auch ohne Kenntnisse einer Programmiersprache erstellt werden können. Weiterhin gibt es die Möglichkeiten ausgezeichnete Tests zu bearbeitet (bzw. neue zu schreiben) und diese zu exportieren.
  • Selenium WebDriver, eine Sammlung von Selenium-Bindings für die gängisten Programmiersprachen, mit denen Seleniumtests in der Sprache der Wahl geschrieben werden können.

Selenium IDE

IDE soll in diesem Zusammenhang für Integrated Development Environment stehen, d.h. es wird eine komplette integrierte Entwicklungsumgebung für Seleniumtests als Plugin für Firefox zur Verfügung gestellt. Unter anderem bietet die IDE Auswahl von HTML-Elementen per ID, name oder XPath, Autovervollständigung und Debugging per Haltepunkten[5], sowie viele weitere Funktionalität (z.B. einen Screenshot bei Fehlern zu erstellen[6]) durch den Einsatz von Plugins.[7]

Download / Dokumentation

Die Selenium IDE .xpi (Firefox add-on) ist nicht auf der offiziellen Mozilla Add-ons Webseite verfügbar, sondern muss direkt von der Selenium Downloadeite heruntergeladen werden. Viele Plugins für die IDE befinden sich jedoch auf der Add-on Seite. Es gibt eine ausführliche Dokumentation zur Selenium IDE die die einzelnen Elemente genau erklärt.

Einfaches Beispiel

Selenium WebDriver

Der WebDriver stellt eine objektorientierte API zum Browser dar. WebDriver schickt Befehle direkt an den Browser über dessen eingebaute Automatisierungsschnittstellen.

Quellen

  1. Durch Selenium unterstützte Betriebssysteme, abgerufen am 13.05.2012.
  2. Selenium Lizenz, abgerufen am 13.05.2012.
  3. Mitwirkende von Selenium, abgerufen am 13.05.2012.
  4. Kommerzielle Firmen die Selenium-Support anbieten, abgerufen am 17.05.2012.
  5. Selenium IDE Features, abgerufen am 17.05.2012.
  6. "Screenshot on Fail" v1.0 Selenium Plugin, abgerufen am 17.05.2012.
  7. Selenium IDE Plugins Download, abgerufen am 17.05.2012.