Zum Inhalt wechseln

Ocaramba – Unser Test-Framework für Web-Applikationen

Technology

20 Oktober 2021 - 4 Minuten lesen

2021 Ocaramba Blog 416X300
Jakub Raczek Senior Automation Quality Engineer 

Ein großer Verfechter der Automatisierung – nicht nur Tests, sondern auch Tools für Continuous Integration und Open Source-Lösungen. Er ist Mitautor des Ocaramba UI Testing Frameworks und des DBTestCompare Datenbanktesttools. Er ist außerdem auf das Testen von Data Warehouses (SQL Server und Teradata) und Business Intelligence-Lösungen spezialisiert.

Alle Beiträge von Jakub anzeigen

1394 DE Resources Thumbs

Teilen

Inhaltsverzeichnis

  1. Wie funktioniert es?
  2. Wichtige Links
  3. Genutzte Technologie:
  4. Ocaramba in Zahlen 
  5. Zusammenfassung

Das Erstellen eines neuen automatisierten Testprojekts für eine Webanwendung ist eine zeitaufwändige Aufgabe. Wenn Sie mit dem Selenium WebDriver ein Testprojekt von Grund auf neu erstellen möchten, müssen Sie alle erforderlichen Bibliotheken installieren und Klassen erstellen. Darüber hinaus müssen Sie Tests mit einem CI-Tool ausführen, sowie die Konfigurationsdatei vorbereiten und verarbeiten. Wenn Ihr Projekt wächst und weitere Tests nötig sind, werden Sie früher oder später ein Framework mit einem gewissen Grad an Komplexität erstellen müssen. Anstatt Zeit damit zu verschwenden, ein solches Framework von Grund auf neu zu erstellen, können Sie ein bereits vorhandenes verwenden und Ihre Zeit ganz dem Testen widmen. Daran hatten wir gedacht, als wir das Ocaramba-Framework erstellten.

 Wie funktioniert es?

Wir haben das Testframework Ocaramba (ehemals Objectivity.Test.Automation) bei Objectivity entwickelt, um einen gemeinsamen Weg für die Erstellung von Selenium WebDriver-Tests vorzuschlagen. Das Framework ist vollständig in C# geschrieben. Dank der Ocaramba.Templates, können Sie innerhalb weniger Minuten ein einsatzbereites Projekt für automatisiertes Web-Testen in einem Continuous-Integration-Tool erstellen. Sie müssen nur die Erweiterung für Visual Studio installieren und beim Erstellen eines neuen Projekts eine der Vorlagen auswählen.

 

  • Ocaramba.NUnit (.NET Core 3.1) 
  • Ocaramba.MsTest (.NET Core 3.1) 
  • Ocaramba.NUnit (.NET Framework 4.7.2) 
  • Ocaramba.MsTest (.NET Framework 4.7.2) 

Das ist alles, was Sie tun müssen, wenn Sie ein Projekt mit einem Test erstellen möchten, der schnell ausgeführt werden kann. In den Ocaramba-Vorlagen finden Sie auch Testklassenvorlagen und Seitenobjekte, die Ihnen helfen können, die Erstellung neuer Tests oder Seitenobjektmuster zu beschleunigen.Ein Bild, das Text, Screenshot, Monitor, Bildschirm enthält.

Das Ocaramba Framework benutzt Selenium WebDriver und Unit Frameworks, um die Tests auszuführen.

 Die Tatsache, dass die Syntax der Befehle der von Selenium sehr ähnlich ist, ist ein wesentlicher Vorteil des Ocaramba-Frameworks. Die Unterschiede sind relativ gering, zum Beispiel: Anstatt den Befehl FindElement zu verwenden…

 this.Driver.FindElement(By.Id("firstName")).Click(); 
nutzen Sie den GetElement Befehl:  
this.Driver.GetElement(this.button).Click(); 

Jemand, der es gewohnt ist, Tests in Selenium zu schreiben, kann problemlos zu Ocaramba wechseln. Darüber hinaus hat die GetElement-Methode einen Vorteil gegenüber FindElement – sie wartet beim Auffinden eines Elements automatisch für eine in der Konfigurationsdatei festgelegte Zeit.

Ocaramba bietet viele weitere Funktionen, wie z. B. : 

  • Unterstützung von Continuous-Integration-Tools wie Azure DevOps, Teamcity, Jenkins usw.,
  • die Möglichkeit, parallele Tests durchzuführen, dies kann Ihre Testausführung beschleunigen, wenn die Anzahl der Tests steigt.
  • Häufigere Locators wie:"//*[@title='{0}' and @ms.title='{1}']", Sie können dynamische Locators erstellen, die durch Übergabe von Werten an den Code formatiert werden können,
  • Wartezeit und Bedingungen für das Auffinden von Elementen werden behoben, wenn die GetElement-Methode anstelle des Selenium FindElement-Befehls verwendet wird.
  • DataDriven-Tests aus XML-, CSV- und Excel-Dateien für NUnit sowie XML- und CSV-Dateien für MSTest mit Beispielen. Sie können Testdaten einfach von der Testspezifikation trennen und Daten für alle Tests in einer einzigen Datei speichern, was die Verwaltung von Testdaten vereinfacht. Sie können dieselben Tests auch mehrmals für verschiedene Testdatensätze ausführen.
  • Die Möglichkeit MSTest, NUnit oder xUNIT Framework zu verwenden, es liegt an Ihnen, welches Unit Framework Sie wählen (Projektvorlagen sind für NUnit und MsTest vorbereitet),
  • Bereitschaft zur Implementierung von Specflow – Sie können verhaltensgesteuerte Entwicklungstests (BDD) für Ihre Anwendung erstellen,
  • Kompatibilität mit Chrome, Firefox, Edge Chromium oder Internet Explorer – Sie müssen lediglich einen einzelnen Parameter in der Konfigurationsdatei ändern, um einen anderen Browser für die Testausführung auszuwählen.
  • Überschreiben von Browserprofileinstellungen, Installieren von Browsererweiterungen, Laden von Standardbrowserprofilen und Headless-Modus,
  • Erweiterung von Webdriver für Methoden wie JavaScriptClick, WaitForAjax, WaitForAngular, etc.,
  • Unterstützung für SeleniumGrid, browserübergreifende parallele Testausführung mit SauceLab, TestingBot und Browserstack,
  • Möglichkeit, erweiterte Browserfunktionen und -optionen einzustellen,
  • Unterstützung der Verify-Assert-Methoden ohne Stopptests im Fehlerfall,
  • Messung von Testschrittzeiten. Es kann nützlich sein für Leistungstests für Ihre Anwendung,
  • Möglichkeit, vollständige Desktop-Selenium-Screenshots zu erstellen und die Seitenquelle im Fehlerfall zu speichern, was mögliche Fehleranalysen vereinfachen kann.
  • Visuelles Testen – zum Beispiel: ein Vergleich des Browser-Screenshots des Elements mit der erwarteten Baseline,
  • Protokollierung mit NLog, EventFiringWebDriver-Protokollen,
  • In Firefox und Chrome werden Dateien automatisch heruntergeladen, Überprüfung, ob die Dateien heruntergeladen wurden,
  • Möglichkeit zum Senden von SQL- oder MDX-Anfragen,
  • Möglichkeit des Debugging-Frameworks, das aus einem NuGet-Paket mit Sourcelink installiert wurde,
  • AngularJS-Unterstützung,
  • Anleitung zum Ausführen von Ocaramba-Tests mit einem Docker-Container.

Wenn Sie weitere Informationen zur Verwendung einer dieser Funktionen benötigen, besuchen Sie den Wiki Tab auf Ocaramba’s GitHub Seite. 

Wichtige Links

 Genutzte Technologie:

  •  Selenium  
  • .NET Core  
  • .NET Framework   
  • Unit test frameworks: MSTest, NUnit, XUnit 
  • Specflow BDD-Framework  

  Ocaramba in Zahlen 

  • Über 250 Tausend Downloads von nuget.org, (Ocaramba, früher Objectivity.Test.Automation), 
  • 18 Mitwirkende auf Github, 
  • 45 Releases auf Github, 
  • Über 500 Downloads von Ocaramba.Templates. 

Ocaramba in Objectivity’s Projekten: 

  • Tausende von Tests automatisiert - in Dutzenden von Projekten

 Zusammenfassung

Dank der Verwendung des Ocaramba-Frameworks und der Erweiterung zu Visual Studio Ocaramba.Templates, können Sie mit wenigen Klicks ein voll funktionsfähiges Testprojekt erstellen, welches mit CI-Tools einsatzbereit ist. Darüber hinaus können Sie durch die Verwendung eines vorgefertigten Frameworks schneller mit der Arbeit an Ihren Tests beginnen. Sie sparen auch Zeit, die Sie sonst für die Entwicklung Ihres eigenen Frameworks aufwenden müssten, und konzentrieren sich stattdessen auf die Erstellung automatisierter Tests, an denen Ihre Teams und Kunden häufig am meisten interessiert sind.

 

1394 DE Resources Thumbs
Jakub Raczek Senior Automation Quality Engineer 

Ein großer Verfechter der Automatisierung – nicht nur Tests, sondern auch Tools für Continuous Integration und Open Source-Lösungen. Er ist Mitautor des Ocaramba UI Testing Frameworks und des DBTestCompare Datenbanktesttools. Er ist außerdem auf das Testen von Data Warehouses (SQL Server und Teradata) und Business Intelligence-Lösungen spezialisiert.

Alle Beiträge von Jakub anzeigen

Was Sie noch interesieren könnte

Kontakt

Starten Sie Ihr Projekt mit Objectivity

CTA Pattern - Contact - Middle

Wir verwenden erforderliche Cookies für die Funktionalität unserer Webseite, sowie optionale Cookies zur Analyse, Leistung und/oder für Marketingzwecke. Das Sammeln und Berichten von Information durch optionale Cookies hilft uns dabei unsere Website zu verbessern und Ihnen Informationen über uns und unser Angebot zukommen zu lassen. Weitere Informationen und das Aussetzen von Cookies, finden Sie in unseren Cookie-Einstellungen.