Tipps, Tool-Vergleiche, How-To’s und Tutorials gezielt zu bestimmten Testwerkzeugen

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

 

Im Testing Center von Microsoft Test Manager findet sich der Tab ‚Organize‘ unter dem sich vier Sub-Tabs finden.

Obwohl man sich laut den Breadcrumps in einem bestimmten Testplan befindet, werden in den vier Sub-Tabs per default alle Entitäten (Test Pläne, Test Konfigurationen, Testfälle, Shared Steps) innerhalb des TFS Team Projekts angezeigt, was einigermaßen verwirrend ist.
Weiterlesen

Seit Firefox 52 gibt es eine Besonderheit:
Wenn auf einer Webseite ohne HTTPS (SSL Zertifikat), ein Passwort eingetippt wird, erscheint folgende Warnung: This connection is not secure. Logins entered here could be compromised.

Das Ganze ist natürlich sehr sinnvoll, denn das Passwort wird in diesem Fall im Klartext  übertragen und kann z.b. in nicht gesicherten WLAN-Netzen mit einfachsten Mitteln ausgelesen werden.

In der Testautomatisierung bereitet uns dieses „Tooltipp“ aber ab und zu Probleme.
Denn was passiert, wenn der dazugehörige Login Button direkt unter dem Passwortfeld ist? Richtig! Statt auf den Button zu klicken, erfolgt der Klick auf die Warnung und diese leitet uns auf die Seite „https://support.mozilla.org/en-US/kb/insecure-password-warning-firefox“ weiter. Das hat natürlich einen fehlgeschlagenen Testfall zur Folge.

Hier ein Tipp wie diese Warnung ausgeschaltet werden kann:

Weiterlesen

Nachdem die Selenium Conference in London bereits fast 4 Monate her ist und die nächste bereits in wenigen Wochen statt findet, möchte ich meine persönliche Top 5 der Präsentationen vorstellen, die keiner verpassen sollte, der in der beruflich oder privat mit der Testautomatisierung beschäftigt.
Weiterlesen

Es ist offiziell, die Hölle ist zugefroren!!!

So oder so ähnlich hat es einer der Erfinder von Appium auf der Selenium Konferenz 2016 in London verkündet. Der Grund ist relativ simpel. Microsoft hat sich entschieden den Coded UI Ansatz nicht weiter zu fahren und auf den generischen Selenium / Appium WebDriver Ansatz zu setzen. Weiterlesen

Problemstellung: Vergleich der Darstellung von UI Elementen mit Ranorex.
Da es immer wieder vorkommt dass UI Elemente nicht korrekt dargestellt werden hier ein kleiner Codeschnipsel, welcher das Beispiel meines Kollegen (Ranorex Pixelfarbe ermitteln) etwas erweitert. Weiterlesen

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

Während der Automatisierung mit Jasmine / Protractor Framework ist es oft sinnvoll, die bestehenden expect Klassen (u.a. hier beschrieben: https://www.testautomatisierung.org/expect-jasmine-javascript-framework/) zu erweitern.

Dazu wird von dem Framework die addMatchers Methode bereitgestellt. In dieser können Funktionen ausimplementiert werden, die dann anschließend in gewohnter Weise mit Expect aufgerufen werden.

Ein sehr gutes Beispiel steht zu diesem Thema auf GitHub bereit:  https://gist.github.com/elgalu/94284ec0ac3e8a590507

Es wird gezeigt, wie mit Hilfe von expect() und der dazugehörigen Erweiterungsmethoden die Klassen eines Elements überprüft werden können.