Inhaltsverzeichnis[Ausblenden][Zeigen]
Jedes Webentwicklungsteam führt eine Reihe von Tests an seinen Produkten durch, doch die später bereitgestellte Weblösung weist Mängel auf.
Selbst bei den besten manuellen Tests schleichen sich Fehler unweigerlich ein und tauchen wieder auf, trotz der Bemühungen des QA-Teams, sie vor der ersten Veröffentlichung zu finden.
Wenn es darum geht, die Effizienz und den Umfang Ihrer Softwaretests zu steigern, ist automatisiertes Webtesten die beste Wahl.
Für Online-Tests ist die Python Programmiersprache bietet ein Roboter-Framework, das externe Bibliotheken wie Selen nutzen kann.
In diesem Beitrag gehen wir Testfälle und andere Begriffe durch, die mit dem Python-Roboter-Framework verbunden sind.
Was ist ein Roboter-Framework?
Roboter-Framework ist ein flexibles generisches Open-Source-Automatisierungsframework, das in Python geschrieben ist und für automatisierte Softwaretests, robotergesteuerte Prozessautomatisierung, Akzeptanztests und akzeptanztestgetriebene Entwicklung verwendet wird.
In einfachen Worten, es ist ein Python-basiertes, schlüsselwortgesteuertes Testautomatisierungs-Framework.
Es ermöglicht Testern, komplizierte Prozessskripte effizient zu automatisieren und zu pflegen. Das Framework kann zum Testen von Benutzerschnittstellen und Anwendungsprogrammierschnittstellen verwendet werden.
Es ermöglicht Testingenieuren, Selenium zusätzlich zu zahlreichen anderen Integrationen zu nutzen. Selenium ist ein branchenübliches Tool zur Automatisierung des Benutzerverhaltens und zur Erstellung von Skripten für benutzerbasierte Webbrowser-Interaktionen für jede Website.
Was ist Akzeptanztest?
Es ist eine Möglichkeit, die Kapazität eines Systems zu bestimmen. Das Ziel von Abnahmetests besteht darin, die Fähigkeiten eines Systems in Bezug auf die Geschäftsanforderungen zu bewerten.
Was ist Roboter-Prozessautomatisierung?
RPA oder Robotic Process Automation ist eine Methode zur Minimierung der menschlichen Arbeit durch die Verwendung von integrierter Software Maschinelles Lernen und KI-Fähigkeiten. RPA wird verwendet, um sich wiederholende Prozesse auf hoher Ebene zu automatisieren.
Was ist abnahmetestgetriebene Entwicklung?
Abnahmetestgetriebene Entwicklung, oft bekannt als ATDD, ist eine Entwicklungstechnik, die auf der Kommunikation zwischen Geschäftskunden, Entwicklern und Testern beruht. Sie arbeiten zusammen und führen Akzeptanztests durch, bevor sie die Funktion bereitstellen.
Roboter-Framework – High-Level-Architektur
Robot Framework ist ein anwendungs- und technologieunabhängiges Framework. Seine Architektur ist sehr modular, wie im Bild unten zu sehen ist.
Die Testdaten werden in einem einfachen, editierbaren Tabellenformat dargestellt. Robot Framework analysiert Daten, führt Testfälle durch und erstellt Protokolle und Berichte, wenn es gestartet wird.
Das Core-Framework hat keine Kenntnis von dem zu testenden Ziel, und Bibliotheken verwalten alle Interaktionen damit. Bibliotheken können untergeordnete Testwerkzeuge als Treiber nutzen oder direkt Anwendungsschnittstellen verwenden.
Eigenschaften
- Es erleichtert datengesteuertes Testen, indem es die Testautomatisierung für verschiedene ermöglicht Datentypen.
- Es vermeidet die Verwendung erheblicher Mengen an Code und verwendet stattdessen eine verhaltensgesteuerte Teststrategie.
- Es kann mit Bibliotheken und Funktionen von Drittanbietern arbeiten.
- Schlüsselwörter (vordefiniert oder benutzerdefinierte) werden in tabellarischer Form verwendet, um Testfälle zu schreiben.
- Benutzer können Schlüsselwörter erstellen.
- Variablen dürfen verwendet werden.
- Das Framework verwendet eine schlüsselwortgesteuerte Methode, bei der Skripte mit winzigen, leicht verständlichen Begriffen (entweder vordefiniert oder benutzerdefiniert) geschrieben werden.
- Nach jedem Build, Berichte,
- und Protokolle erstellt werden.
- Es generiert gründliche Berichte und Protokolle zum Ausführungsstatus des Skripts, was besonders nützlich ist, falls das Skript fehlschlägt.
Roboter-Framework-Tutorial
Lass uns eintauchen.
1. Installation des Roboterrahmens
Für die Installation des Robot-Frameworks in Python wird das Paket pip vorgeschlagen. Führen Sie den folgenden Befehl aus, um das Framework zu installieren.
Sie sollten nach einer erfolgreichen Installation mit der Option -version sowohl die Interpreter- als auch die Robot-Framework-Version anzeigen können.
2. Bibliotheken
- Eingebaut – Dies ist eine Standardbibliothek, die eine Reihe häufig verwendeter Schlüsselwörter enthält, die automatisch importiert werden und jederzeit verfügbar sind.
- Collection – Bietet eine Reihe von Schlüsselwörtern für die Arbeit mit Python-Listen und -Wörterbüchern. Die Schlüsselwörter der Bibliothek können zum Ändern und Erstellen von Werten aus Listen und Wörterbüchern verwendet werden.
- Dialoge – Eine Standardbibliothek zum Anhalten der Ausführung und zum Einholen von Benutzerfeedback. Je nachdem, ob die Tests laufen, sind die Dialoge etwas inkonsistent.
- Mit DateTime können Sie Datums- und Uhrzeitinformationen generieren und ändern.
- Betriebssystem – Es ermöglicht dem Roboter-Framework, eine Vielzahl von betriebssystembezogenen Aufgaben im System auszuführen, während es läuft. Es kann unter anderem Anweisungen ausführen und Daten direkt erzeugen und modifizieren.
- Prozess – Diese Bibliothek wird verwendet, um Prozesse mit Python-Submodulen und der offenen Klasse auszuführen. Das Schlüsselwort run process wird verwendet, um auf einen laufenden Prozess im System zu warten und ihn zu kompilieren.
- XML ist auch eine Textbibliothek, die vom Robot-Framework verwendet wird, um XML-Dokumente zu überprüfen und zu ändern.
- Der String ist ein Paket zum Manipulieren und Validieren von Strings.
- Es gilt Telnet, mit dem Sie über Telnet interagieren können. Mit der Telnet-Bibliothek können Sie über eine normale TCP/IP-Verbindung eine Verbindung zu einem Telnet-Server herstellen und Befehle ausführen.
3. Eingebaute Werkzeuge
In einem Roboter-Framework werden hauptsächlich vier eingebaute Tools verwendet:
- Rebot – Tools zum Erstellen von Protokollen und Berichten aus XML-Ausgaben und zum gleichzeitigen Zusammenführen zahlreicher Ausgaben.
- Testdoc – Basierend auf Testfällen erstellt Robot Framework eine High-Level-HTML-Dokumentation.
- Libdoc – Keyword-Dokumentationsgenerator für Bibliotheken und Ressourcendateien.
- Tidy – Robot Framework Tools zum Bereinigen und Konvertieren von Datendateien in ein anderes Format.
4. Testfälle
Anstelle von automatisierten Testfällen können Testfälle im Roboter-Framework in einfachem Englisch geschrieben werden. Zur Einordnung der Testszenarien können die folgenden Tests herangezogen werden.
- Workflow-Tests
- Tests auf höherer Ebene
- Datengetriebene Tests
Workflow-Tests
Die Testfälle des Roboter-Frameworks sind häufig in tabellarischer Syntax geschrieben. Die erste Spalte einer Testfalltabelle enthält die Testnamen, und der Testfall beginnt mit irgendetwas in der Spalte und endet mit dem nächsten Testfallnamen oder dem Ende der Tabelle.
Werfen wir einen Blick auf ein reales Beispiel, um zu verstehen, wie das funktioniert.
- Ein Benutzer kann ein Konto erstellen und sich anmelden.
- Der Benutzer kann sich nicht anmelden, wenn das Kennwort falsch ist.
Tests auf hohem Niveau
Die zweite Spalte enthält normalerweise einen Schlüsselwortnamen, mit Ausnahme von Einstellungsvariablen mit schlüsselwortgeschriebenen Werten.
Die Testfälle des Roboter-Frameworks können nur mit Schlüsselwörtern auf hoher Ebene und ohne Positionsparameter erstellt werden. Um das Testen auf hoher Ebene besser zu verstehen, betrachten Sie das folgende Beispiel.
Datengetriebene Tests
Beim datengesteuerten Testen werden Testdaten isoliert, anstatt Verfahren zu simulieren. Im Roboter-Framework definiert die Einstellung [Vorlage] den Testfall für einen datengesteuerten Test.
5. Schlüsselwörter
Um Testfälle im Roboter-Framework zu erstellen, werden Schlüsselwörter aus zwei Quellen verwendet.
- Schlüsselwörter für eine Bibliothek
- Schlüsselwörter für den Benutzer
Schlüsselwörter für eine Bibliothek
Standardbibliotheken definieren die gesamte Terminologie der untersten Ebene, die unter Verwendung von Computersprachen wie implementiert werden kann Python und Java.
Standard-, externe und benutzerdefinierte Bibliotheken gehören zu den Testbibliotheken, die mit dem Roboter-Framework verfügbar sind. Das Kernframework umfasst integrierte, Screenshot-, Betriebssystem- und andere Standardbibliotheken.
Schlüsselwörter für den Benutzer
Die Fähigkeit, einzigartige High-Level-Keywords aus bestehenden Phrasen zu generieren, ist eines der wichtigsten Merkmale des Roboterdesigns. Um besser zu verstehen, wie es funktioniert, schauen wir uns ein Beispiel an.
6 Variablen
Variablen sind ein wichtiger Bestandteil jedes Testfalls in einem Roboter-Framework. Eine Variable ist ein hervorragender Ansatz, um Daten in einem Testfall anzugeben, die Änderungen oder Schwankungen unterliegen.
Schauen wir uns an, wie man Variablen in einem Testfall definiert.
Variablen angeben
Abgesehen von benutzerdefinierten Variablen verfügt das Roboter-Framework über integrierte Variablen wie $TEMPDIR und $/, die wir im vorherigen Beispiel verwendet haben.
Verwendung von Variablen
Variablen können überall im Testfall verwendet werden.
Sie werden jedoch am häufigsten als Schlüsselwortargumente verwendet. Betrachten Sie das folgende Beispiel, um zu veranschaulichen, was ich meine.
7. Organisieren von Testfällen
Testfalldateien werden zum Erstellen von Robotertestfällen verwendet, sie können jedoch auch in Verzeichnissen gruppiert werden, um eine Testsuitehierarchie zu erstellen. Eine Testsuite ist eine Gruppierung von Testfällen. Eine Testsuite besteht aus allen Dateien, die Testfälle enthalten.
Mithilfe von Verzeichnissen können die Testfälle hierarchisch strukturiert werden; Alle diese Verzeichnisse bieten High-Level-Testsuiten mit Namen, die von den Verzeichnisnamen abgeleitet sind.
Verwenden von Setups und Teardowns
Die Optionen „Test Setup“ und „Test Teardown“ der Einstellungstabelle können verwendet werden, um ein bestimmtes Schlüsselwort in einem Test vor oder nach dessen Abschluss auszuführen. Sie können auch „Suite Setup“ und „Suite Teardown“ verwenden, um Schlüsselwörter vor oder nach einer Testsuite auszuführen.
Sie können in einem Testfall benutzerdefinierte [Setup] und [Teardown] erstellen, ähnlich wie bei [Template]. Betrachten Sie das folgende Szenario, um dies besser zu verstehen.
Tags verwenden
Das Roboter-Framework ermöglicht die Verwendung von Tags, um kostenlose Metadaten für Testfälle bereitzustellen. „Force Tags“ und „Default Tags“ können verwendet werden, um Tags in einer Datei zu setzen. [Tags] können wie [Template] verwendet werden, um einem einzelnen Testfall Tags zuzuweisen. Sehen wir uns ein Beispiel an, um zu sehen, wie wir Tags verwenden.
Der Bericht enthält nach der Ausführung Tags mit damit verknüpften Testfällen sowie auf den Tags basierende Statistiken.
Vorteile
- Es ist einfach, Robot Framework einzurichten.
- Es basiert auf der Verwendung von Schlüsselwörtern.
- Es ermöglicht Ihnen, Gherkin zu verwenden.
- Es funktioniert mit beiden mobile und webbasierte Apps.
- Die Grundlagen des Robot Framework sind einfach zu verstehen.
- Es verwendet einen Low-Code-Ansatz.
- Windows, Mac OS X, Unix und Linux werden alle unterstützt.
- Python, IronPython und PyPy sind allesamt unterstützte Programmiersprachen.
- Es funktioniert mit allen gängigen Webbrowsern.
- Robot Framework ist ein kostenlos nutzbares Open-Source-Automatisierungstool.
Nachteile
- Die parallele Testausführung wird von Robot Framework nicht unterstützt.
- Es ist schwierig, mit dem Robot Framework Schritt zu halten.
- HTML-Berichte im Robot Framework sind schwer zu ändern.
- Das Debuggen einiger Robot Framework-Probleme kann schwierig sein.
- Die Einrückung wird im Robot Framework strikt erzwungen.
Zusammenfassung
Die Roboterplattform ist ein kostenloses Open-Source-Framework für Akzeptanztests und akzeptanztestgetriebene Entwicklung.
Die Testfälle des Roboter-Frameworks basieren auf Schlüsselwörtern, die in tabellarischer Form ausgedrückt werden, was sie leicht verständlich macht und genaue Informationen über die Bedeutung des Testfalls liefert.
Es ist wirklich bequem und einfach zu bedienen.
Einige von Ihnen haben es bereits verwendet. Wenn Sie also Ihre Tests eingerichtet und Ihre Android / iOS-App einsatzbereit haben, probieren Sie es aus.
Sie werden erstaunt sein, wie gut es läuft und wie schnell die Abnahmetests abgeschlossen werden können.
Hinterlassen Sie uns einen Kommentar