Testautomatisierung mit Selenium

Die neue Version Selenium 2.45.0 ist seit Freitag verfügbar und kann wie immer hier bezogen werden:
http://www.seleniumhq.org/download/

Die neuste und wichtigste Neuerung für die, die mit Firefox testen ist, dass die automatisierten Testfälle mit der neuen Firefox 36 Version wieder funktionieren. Der dazugehörige Bug (Selenium Bug 8399) wurde zum Glück relativ schnell gelöst und die automatisierten Testfälle laufen jetzt erfolgreich an.

Offenbar wird seit der Firefox Version 36, eine davor verwendete API Schnittstelle nicht mehr unterstützt, dadurch konnten die Anfragen an den Firefox Driver nicht mehr übergeben werden.

Normalerweise ist Drag and Drop mit Selenium kein Problem. In der Standard-Bibliothek von Selenium existiert die Möglichkeit eine DragDrop Action zu erstellen:

Actions actions = new Actions(driver);
actions.DragAndDrop(element1, element2);
actions.Build();
actions.Perform();

Dieses Vorgehen funktioniert auch absolut problemlos mit der HTML4 JS Lösungen. Seit der HTML5 Version klappt es mit Selenium leider überhaupt nicht mehr. Auch die Kombination aus ClickAndHold Aktion, MoveToElement und Release bringt einen bei dem neuen HTML Standard kein Stück weiter.
Dieser Fehler ist bekannt und ist bereits seit 2012 offen: Issue 3604: HTML5 Drag and Drop with Selenium Webdriver

Weiterlesen

Lernziele des Tutorials: Anlage von einem C# Projekt, Anbindung der Selenium DLLs in .Net Umgebung. Öffnen der Seite www.testautomatisierung.org in Firefox.

Zielgruppe: Dieses Selenium Tutorial ist für Anfänger gedacht, vorausgesetzt sind rudimentäre C# / Testautomatisierungserfahrungen. Weiterlesen

Um in einem automatisierten Test einen Eintrag aus einer DropDown Liste auszuwählen (Select-Tag), gibt es in Selenium mehrere Möglichkeiten.

Weiterlesen

Um auf dynamische Untermenüs zugreifen zu können, ist es oft Notwendig ein „MouseOver-Event“ auf ein bestimmtest Element zu erzeugen. Alles andere führt bei Selenium zu der „Element is not currently visible and so may not be interacted with“ – Exception.

Wenn auch das Eltern-Element mit einer Seite im Hintergrund belegt ist, kann der Zugriff auf das Untermenü, nicht mit einem Klick realisiert werden. Es sollte also möglich sein, ein Selenium MouseOver aus dem automatisierten Test zu erzeugen.
Selenium bietet hier die Möglichkeit mit Actions zu arbeiten. Aus dem Driver wird ein Actions Builder erzeugt, dieser kann dann eine Selenium MoveToElement Methode auf das gewünschte Webelement ausführen.

Weiterlesen

Die neue  Selenium WebDriver C# Assembly (Version 2.33.0) steht zur Verfügung.
Diese kann wie gewohnt von der Seite seleniumhq geladen werden:
http://docs.seleniumhq.org/download/

Die Änderungen in dieser Version sind:

 * Supports native events for Firefox versions 21 (current), 20 (immediately
   previous), 17 (current ESR), and 10 (immediately previous ESR)
 * Issue #5549: Modified to use indexer for putting entry in .NET Firefox
   Profile preferences Dictionary. Was previously using the .Add() method of
   the Dictionary, which would throw an exception if the key already existed.
 * Updated InternetExplorerDriverService to allow using new command line
   options for IEDriverServer.exe
(Auszug aus Selenium Changelog)

Um aus Microsoft Test Manager automatisierte Testfälle (Unit Tests, Coded UI Tests, Ranorex, Selenium usw.) ansprechen zu können, müssen diese in Testmethoden „verpackt“ werden. Weiterlesen