Zum Inhalt springen
Testautomatisierung.org – Magazin für funktionale und nicht funktionale Qualitätssicherung

Zurück zu den Artikeln

Selenium

18 Beiträge mit diesem Schlagwort

Allgemeines

Desktop Testautomatisierungs-Frameworks


Die Auswahl an Frameworks für die Testautomatisierung ist groß, daher erhebt diese Liste keinen Anspruch auf Vollständigkeit. Sie soll vielmehr einen Überblick über die gängigsten Frameworks geben. Eine Unterteilung in Desktop-, Web- und Mobile-Automatisierung ist vorgenommen, wobei manche Frameworks auch mehrere dieser Bereiche abdecken. Je nach Projekt kann es sinnvoll sein, ein Framework zu wählen, das mehrere dieser Bereiche abdeckt.

Kostenpflichtige Frameworks liefern meist nicht nur Automatisierung, sondern bieten oft zusätzliche Funktionen. Oftmals sind auch Reporting-Tools, Testmanagement, Integration in Pipelines und Support enthalten. Über die Qualität der Zusatzleistungen kann hier jedoch keine Aussage getroffen werden.

Weiterlesen

Philippe Joseph

Redakteur auf Testautomatisierung.org
Software- und Testautomatisierungsingenieur bei SimplyTest GmbH, Nürnberg
www.simplytest.de
Embedded Software, Automatisierung, Elektrotechnik

/0 Kommentare/von Philippe Joseph

Software Testing Conferences

Selenium Conference Chicago 2023


Eröffnung-Keynote

Selenium by numbersUnter dem Motto „meetup automate innovate“ fand vom 28. bis 30. März die Selenium Konferenz in Chicago statt. Ich hatte das Vergnügen, diese besuchen zu können. Die Keynote präsentierte Diego Molina von Sauce Labs mit einem Vortrag, in dem er den Stand der Entwicklung umriss (Selenium: State of the Union). Man kann es wohl nicht oft genug sagen, dass Selenium ein Werkzeug zur Browserautomatisierung ist, auf dem Frameworks aufsetzen können. Es sieht sich selbst als „low level“ Bibliothek oder Plattform, welche die Grundfunktionen bereitstellt.

Diego Moline legt besonderen Wert darauf zu betonen, dass das Selenium Projekt ein Gemeinschaftsprojekt ist und durch die Zusammenarbeit mit Anderen das Software-Testen verbessern möchte. Als prominentes Beispiel führt er an, wie Jason Huggins (Selenium) und Simon Stewart (WebDriver) zusammenarbeiten. Des Weiteren gibt er Ausblick auf kommende Verbesserungen und Entwicklungen, die in absehbarer Zukunft verfügbar werden. Wie der Selenium Manager, der die Einrichtung der Treiber vereinfacht. Besonders interessant auch die Entwicklung zu WebDriver BiDi, welches das Potenzial hat, die Browserautomatisierung auf ein neues Level zu heben.

Außerdem wird die Community hinter dem Projekt vorgestellt und einige Wege aufgezeigt, wie man sich in diese einbringen kann. Unter anderem direkt im Chat über IRC oder Slack. Oder das Melden eines Bugs im Tracker auf GitHub.

Weiterlesen

Philippe Joseph

Redakteur auf Testautomatisierung.org
Software- und Testautomatisierungsingenieur bei SimplyTest GmbH, Nürnberg
www.simplytest.de
Embedded Software, Automatisierung, Elektrotechnik

/1 Kommentar/von Philippe Joseph

Testreporting

Allure Listener für Screenshots und weitere Anhänge verwenden


Allure Reporting ist eines der beliebtesten Open Source Produkte im Testbereich. Aus gutem Grund! Die Reports aggregieren die benötigten Daten sehr übersichtlich. Die Anbindung an die meisten Testframeworks wie Cucumber, TestNG, Selenide und andere funktioniert in der Regel reibungslos.

Spannend wird es bei Allure nur, wenn es um spezielle Anforderungen geht. Es können Postprocessing Aggregationen von unterschiedlichen Runs sein, aber auch das Anhängen von Dateien (Log Files oder Screenshots...) im Test-Lebenszyklus. Um den letzten Punkt geht es in diesem Artikel.

Weiterlesen

Waldemar Siebert

Begeisterter Entwickler, Trainer und Berater zu allem Themen rund um agile Softwareentwicklung, Softwarequalität und Testautomatisierung.

Gründer und Geschäftsführer der Firma SimplyTest GmbH

/2 Kommentare/von Waldemar Siebert

Selenium

Testautomatisierung mit Cypress vs. Selenium


Cypress und Selenium sind bekannte Testwerkzeuge, die für die Automatisierung von Webapplikationen eingesetzt werden. Selenium ist ein Open-Source-Automatisierungsframework, das in unterschiedlichen Produktversionen vorhanden ist.  Die Automatisierungslösung Selenium existiert schon seit 2004 und ist ein etabliertes Produkt mit einer großen Nutzerbasis weltweit. Das End-to-End-Tool Cypress hingegen ist seit 2014 ein Newcomer auf dem Markt, welches sich wie Selenium für die Automatisierung von Webapplikationen eignet. Cypress hat in den letzten Jahren durch seine rasche Entwicklung und Erweiterung kontinuierlich an Beliebtheit gewonnen. Doch welches Werkzeug ist besser?  

In diesem Artikel gehen wir auf die Eigenschaften und Spezifikationen beider Testtools, sowie deren Vor- und Nachteile.  

Weiterlesen

Waldemar Siebert

Begeisterter Entwickler, Trainer und Berater zu allem Themen rund um agile Softwareentwicklung, Softwarequalität und Testautomatisierung.

Gründer und Geschäftsführer der Firma SimplyTest GmbH

/0 Kommentare/von Waldemar Siebert

Selenium

Selenium Drag&Drop mit HTML5 - fertige Lösung


Vor einigen Jahren haben wir in einem unserer Blog Beiträge für die Lösungsmöglichkeit berichtet, wie man auf HTML 5 Seiten Drag & Drop Testautomatisierung mit HTML 5 implementeiren kann.

Der Hintrgrund war, dass die offizielle Selenium Drag & Drop API aus der Actions Klasse auf HTML 5 Seiten nicht richtig funktioniert und selbst die Referenz-Implementierungen von W3C Standard nicht autoamtisieren kann. Der zugehörige Bug-Request für Selenium Web Driver wurde bereits im Jahr 2012 angelegt. Leider ist er nach inzwischen 8 Jahren immer noch ungelöst :-(

Da die Notwenigkeit der Drag & Drop Testautomtisierung mit Selenium aufgrund von immer komplexer Geschäftsapplikationen im Web immer häufiger angefragt wird, haben wir die Drag&Drop Implementeirung auf GitHub als Open Source Projekt bereitgestellt und ein fertiges Nuget Paket für C# veröffentlicht.

Im Rahmen dieser Implementierung wird die bereits beschriebene alternative Drag & Drop Umsetzung mit einem JavaScript umgesetzt, das automatisch augerufen wird.

Bei der Verwendung von Nuget Paket für Drag&Drop kann die Testautomatisierung von Drag&Drop in nur wenigen Schritten realisiert werden:

  1. Drag & Drop Nugen Paket SeleniumDragDrop in C# Solution einbinden
  2. Quell- und Ziel-Elemente für Drag & Drop auf der Web Seite finden
  3. DragDropHelper instanzieren
  4. Drag & Drop Operation für Quell- und Ziel-Elemente aufrufen

Die Automatisierung von Drag&Drop auf der W3C Refernz-Seite für HTML 5 Drag & Drop kann damit etwa wie folgt aussehen:

    IWebDriver driver = new ChromeDriver(Environment.CurrentDirectory);
    try
    {
        driver.Navigate().GoToUrl("https://www.w3schools.com/html/html5_draganddrop.asp");

        IWebElement sourceEl = driver.FindElement(By.Id("drag1"));
        IWebElement targetEl = driver.FindElement(By.Id("div2"));

        SeleniumDragDrop.DragDropHelper dragdrop = new SeleniumDragDrop.DragDropHelper(driver);
        dragdrop.DragAndDrop(sourceEl, targetEl);

        Assert.IsNotNull(targetEl.FindElement(By.Id("drag1")));
    }
    finally
    {
        driver.Quit();
    }

Viel Spaß beim Ausprobieren.

Alexander Heimlich

Redakteur auf Testautomtisierung.org
Geschäftsführer, Schulungsleiter bei SimplyTest GmbH, Nürnberg
www.simplytest.de
Passionierter Softwareentwickler und Testautomatisierungsverfechter mit langjähriger beruflicher Erfahrung als Softwareentwickler, Test Automation Manager, Teamleiter und Projektleiter

/0 Kommentare/von Alexander Heimlich

Selenium

Selenium Tests mit Edge und Internet Explorer einrichten


Selenium Framework bietet per sé sehr einfache Möglichkeit an die Tests mit unterschiedlichen Web Browsern durchzuführen und damit die Cross-Browser Test Strategie umzusetzen. Während die Einbindung von gängigen Browsern wie Chrome oder Firefox i.d.R. unproblematisch erfolgt, gilt es bei der Einbindung von Edge und Internet Explorer einige Besonderheiten zu beachten, die in diesem Blog zusammengefasst werden. Die Lösungen werden nachfolgend mit C# aufgezeigt. Die Vorgehensweise ist aber auch auf andere Sprachen wie Java übertragbar.

Weiterlesen

Alexander Heimlich

Redakteur auf Testautomtisierung.org
Geschäftsführer, Schulungsleiter bei SimplyTest GmbH, Nürnberg
www.simplytest.de
Passionierter Softwareentwickler und Testautomatisierungsverfechter mit langjähriger beruflicher Erfahrung als Softwareentwickler, Test Automation Manager, Teamleiter und Projektleiter

/0 Kommentare/von Alexander Heimlich

Testreporting

HTML Test Reports für Selenium Tests mit ExtentReport Framework


Selenium ist als Testautomatisierungstool für Webanwendungen absoluter Standard. Der Standard WebDriver an sich hat keinen integrierten Reporter und das ist auch nicht seine Kernaufgabe. Diese wird vom WebDriver an die Testframeworks (JUnit / NUnit / MSTest / Jasmine usw.) delegiert. Es kann aber trotzdem vorkommen, dass die von den Testframeworks zur Verfügung gestellten Reporter für Auswertung von den Tests nicht ausreichend sind.

Gute Testreports haben allgemein folgende Vorteile:

  • Bieten gute Übersicht über den Testlauf auf verschiedenen Ebenen an: von hoch-granaular als Testmanagement Sicht bis feingranular für die Analyse einzelner Testschritte
  • Als lesbarer strukturierter Text / HTML abgelegt, enthalten fachliche Schritte
  • Enthalten eingebetete Screenshots, was beim Nachvollziehen der Probleme hilft
  • Vereinfachen die Fehlersuche
  • Können archiviert werden
  • Können von Menschen ohne Programmier-Kenntnissen ausgewertet werden

Auf dem Markt existieren viele mehr oder weniger gute Lösungen, die das Reporting für Selenium Tests bereitstellen. Nicht alle erfüllen die davor genannten Anforderungen an gute Testberichte, aber je nach Anwendungsfall und Projekt ist es auch oft gar nicht notwendig.

Bei uns in den Projekten hat sich der Testreporter ExtentReports bewährt. Neben einer kostenpflichtigen Version, gibt es auch eine Community Edition, die für den Einsatz in den meisten Projekten absolut ausreichend ist.

In diesem Beitrag möchte ich aufzeigen, wie ExtentReports in ein .NET Projekt eingebunden und benutzt werden kann.

Weiterlesen

Waldemar Siebert

Begeisterter Entwickler, Trainer und Berater zu allem Themen rund um agile Softwareentwicklung, Softwarequalität und Testautomatisierung.

Gründer und Geschäftsführer der Firma SimplyTest GmbH

/1 Kommentar/von Waldemar Siebert

Selenium

Selenium Tutorial: Wordpress Automatisierung mit C# - Einrichtung der Umgebung


Tutorial-Ziel

Wir alle haben ab und zu Aufgaben, die wir gerne automatisieren möchten. Mit diesem Tutorial zeige ich, wie mit Hilfe von Selenium, bestimmte Aktionen in Wordpress automatisiert werden können.
Ziel des Tutorials ist, automatisiert durch alle vorgegebenen Beiträge zu gehen und in jedem Beitrag eine bestimmte Kleinigkeit zu ändern und zu speichern.

In dem ersten Teil wird nochmal die komplette Einrichtung beschrieben, das ist bereits in einem anderen Tutorial auf der Seite ähnlich zu finden, wegen der Vollständigkeit habe ich das aber hier noch einmal hinzugefügt.

Weiterlesen

Waldemar Siebert

Begeisterter Entwickler, Trainer und Berater zu allem Themen rund um agile Softwareentwicklung, Softwarequalität und Testautomatisierung.

Gründer und Geschäftsführer der Firma SimplyTest GmbH

/0 Kommentare/von Waldemar Siebert

Selenium

Selenium 2.45.0 verfügbar - Firefox 36 Bug gelöst


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.

Waldemar Siebert

Begeisterter Entwickler, Trainer und Berater zu allem Themen rund um agile Softwareentwicklung, Softwarequalität und Testautomatisierung.

Gründer und Geschäftsführer der Firma SimplyTest GmbH

/0 Kommentare/von Waldemar Siebert

Selenium

Selenium Tutorial: Automatisiertes Testen von Webanwendungen - Teil 1


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

Waldemar Siebert

Begeisterter Entwickler, Trainer und Berater zu allem Themen rund um agile Softwareentwicklung, Softwarequalität und Testautomatisierung.

Gründer und Geschäftsführer der Firma SimplyTest GmbH

/0 Kommentare/von Waldemar Siebert

Selenium

OptionTag Auswahl mit Selenium


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

Weiterlesen

Waldemar Siebert

Begeisterter Entwickler, Trainer und Berater zu allem Themen rund um agile Softwareentwicklung, Softwarequalität und Testautomatisierung.

Gründer und Geschäftsführer der Firma SimplyTest GmbH

/0 Kommentare/von Waldemar Siebert

Selenium, Webautomatisierung

Selenium MouseOver Event erzeugen


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

Waldemar Siebert

Begeisterter Entwickler, Trainer und Berater zu allem Themen rund um agile Softwareentwicklung, Softwarequalität und Testautomatisierung.

Gründer und Geschäftsführer der Firma SimplyTest GmbH

/0 Kommentare/von Waldemar Siebert

Selenium, Webautomatisierung

Selenium Version 2.33.0 verfügbar


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)

Waldemar Siebert

Begeisterter Entwickler, Trainer und Berater zu allem Themen rund um agile Softwareentwicklung, Softwarequalität und Testautomatisierung.

Gründer und Geschäftsführer der Firma SimplyTest GmbH

/0 Kommentare/von Waldemar Siebert

Allgemeines

Lesetipp: Automated Software Testing Magazine - obsolete


Leider ist die Kultur der Testautomatisierung in Deutschland (noch?) nicht so sehr verbereitet wie in anderen Ländern. So gibt es, neben gut ausgebauten und "lebendigen" Foren, auch Magazine, die sich speziell dem Thema Testautomatisierung widmen.
Unter dem folgenden Link ist ein gutes "Testautomatisierungs - Magazin", der Webseite automatedtestinginstitute.com, zu finden:
Automated Software Testing Magazige - PDF Datei(Link entfernt)
Themen u.a. sind:

  • So easy even a child can use it - Is Your Test Automation Architecture Usable?
  • Cells, Selenium, XPath and Labels - Using Labels to identify Dynamic Objects
  • Test Automation Experiences
  • Selenium vs. Watir... And the Winner is Webdriver

Waldemar - Nachtrag (11/2015):
Leider wurde die Zielseite entfernt und die PDF Datei ist nicht mehr auffindbar. Ich habe den dazugehörigen Link entfernt und den Artikel als obsolete gekennzeichnet.
Danke an Michael Grabowski, der mich darauf aufmerksam gemacht hat, dass der Link nicht mehr zu der gewünschten Seite führt.

Waldemar Siebert

Begeisterter Entwickler, Trainer und Berater zu allem Themen rund um agile Softwareentwicklung, Softwarequalität und Testautomatisierung.

Gründer und Geschäftsführer der Firma SimplyTest GmbH

/0 Kommentare/von Waldemar Siebert

Ranorex, Selenium, Visual Studio Testframework, Microsoft Test Manager, Unit Tests

ClassCleanup() Verhalten


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

Waldemar Siebert

Begeisterter Entwickler, Trainer und Berater zu allem Themen rund um agile Softwareentwicklung, Softwarequalität und Testautomatisierung.

Gründer und Geschäftsführer der Firma SimplyTest GmbH

/0 Kommentare/von Waldemar Siebert