QTP/UFT Automatisierungs-Framework: Datengesteuert, Keyword-basiert & Hybrid

⚡ Intelligente Zusammenfassung

Automatisierungs-Frameworks in QTP/UFT Organisieren Sie Testskripte, Daten und wiederverwendbare Funktionen so, dass ein Test viele Fälle abdecken kann. Datengetriebene, schlüsselwortgetriebene und hybride Designs eignen sich jeweils für eine andere Kombination aus Eingaben und wiederverwendbarer Logik.

  • 🔘 Datengesteuertes Design: Skripte lesen Eingaben aus Excel oder einer Datenbank und schreiben Ausgaben zurück, sodass ein Test viele Iterationen durchläuft.
  • ☑️ Keyword-basiertes Design: Benutzerdefinierte Funktionen werden zu Schlüsselwörtern wie Login und OpenOrder, die von einem kompakten Treiberskript aufgerufen werden.
  • ✅ Hybridbauweise: Schlüsselwortfunktionen transportieren die Logik, während parametrisierte Daten die Schritte speisen, die mehrere Eingaben benötigen.
  • 🧪 Objekt-Repository zuerst: Alle vom Test verwendeten Kontrollvariablen müssen hinzugefügt werden, bevor ein Skript sie zuverlässig identifizieren kann.
  • ️ Aktuelle Werkzeuge: QTP ist jetzt OpenText Funktionstests (UFT Erstens bleibt VBScript die unterstützte Skriptsprache.

Daten-, Keyword- und Hybrid-Automatisierungsframeworks in QTP/UFT

Datengesteuertes Framework

Ein datengetriebenes Framework ist ein Framework, das von den verschiedenen Kombinationen von Eingabe- und Ausgabedaten gesteuert wird.

Eine Möglichkeit, verschiedene Datenkombinationen zu übermitteln, besteht darin, ParametrisierungBei dieser Methode nutzen wir verschiedene Merkmale von QTP.

In DDF werden jedoch Skripte für die Parametrisierung geschrieben. Diese Art von Framework ist nützlich, wenn die Funktionalität des AUT mit mehreren Eingaben getestet und die entsprechenden Ausgaben erfasst werden müssen. Diese Eingaben können aus einer externen Datei wie Datenbank, Excel usw. gelesen werden. OutlookDie Textdatei usw. und die jeweiligen Ausgaben werden wie unten dargestellt in die entsprechende externe Quelle zurückgeschrieben.

Datengetriebenes Framework: Ablauf beim Lesen von Eingabedaten und Schreiben von Ausgabedaten

Die allgemeinen Schritte des datengesteuerten Frameworks sind:

  1. Bereite das ... Vor Testfall für die zu testende Anwendung
  2. Fügen Sie die Objekte von AUT zu OR hinzu
  3. Schreiben Sie die Skripte basierend auf dem Testfall

In dieser UFT LernprogrammWir werden ein datengetriebenes Framework-Design für einen Beispieltestfall entwickeln, indem wir Excel als externe Quelle für die Testdaten verwenden.

Schritt 1) ​​Bereiten Sie den Testfall für die zu testende Anwendung vor.

Testfall: Öffnen Sie die Bestellnummer und erhalten Sie den Kundennamen für diese Bestellung. Wiederholen Sie den gleichen Vorgang für verschiedene Bestellnummern

Externe Quelle: Excel-Datei

Das Flugreservierungsformular wurde als Beispieltestfall für das Framework verwendet.

Die externe Datenquelle für dieses Beispiel ist eine Excel-Datei. Das VB-Skript in OpenText Funktionstests (UFT One, ehemals Micro Focus UFTUm die Testdaten in einer Excel-Datei einlesen zu können, muss eine entsprechende Funktion geschrieben werden. Dies kann hierarchisch erfolgen.

1. Eine Excel-Datei wird zunächst als Anwendung geöffnet

2. Anschließend muss die Arbeitsmappe am angegebenen Speicherort geöffnet werden

3. Das Blatt, auf dem die Testdaten vorhanden sind.

4. Abschließend muss die Zelle gelesen werden.

Schritt 2) Fügen Sie die Objekte von AUT zu OR hinzu.

Sobald der Testfall fertig ist, beginnen Sie mit dem Hinzufügen aller erforderlichen Objekte zum Repository. In unserem Testfall müssen folgende Objekte hinzugefügt werden

1. Symbol „Ordner öffnen“ im Antrag auf Flugreservierung:

Symbol „Ordner öffnen“ zur Symbolleiste hinzugefügt QTP/UFT Objekt-Repository

2. Kontrollkästchen „Bestellnummer“, das durch Anklicken des Symbols „Ordner öffnen“ angezeigt wird:

Das aus dem Dialogfeld „Bestellung öffnen“ erfasste Kontrollkästchen „Bestellnummer“ wurde erfasst.

3. Das WinEdit-Feld der Bestellnummer (in dem die Nummern eingegeben werden):

WinEdit-Feld für die dem Repository hinzugefügte Bestellnummer.

4. Die OK-Taste:

OK-Schaltfläche im Dialogfeld „Bestellung öffnen“

5. Das Feld „Name“ ist ein WinEdit-Feld. Dieses Feld wird mit einem Namen gefüllt, sobald die Schaltfläche „OK“ für eine bestimmte Bestellnummer angeklickt wird:

Benennen Sie das WinEdit-Feld, das den Kundennamen empfängt

Sobald alle erforderlichen Objekte hinzugefügt wurden, sieht das Objekt-Repository wie folgt aus:

Fertig gestellt QTP/UFT Objekt-Repository, das alle fünf Flugreservierungsobjekte auflistet

Schritt 3) Schreiben Sie die Skripte basierend auf dem Testfall

Stellen Sie vor der Ausführung des Skripts sicher, dass die Excel-Datei mit den Testdaten gespeichert und geschlossen ist.

Das folgende Skript besteht darin, die Bestellnummer aus Excel zu lesen und sie über die Variable „vOrder“ der Anwendung zuzuweisen und den Kundennamen aus der Anwendung über die Variable „vName“ zu schreiben.

Excel-Name: FlightDDF.xlsx

Blattname: Blatt1

VBScript, das die Bestellnummer aus Excel liest und den Kundennamen zurückschreibt

Ausgang

Sobald das obige Skript ausgeführt wird, kann die Ausgabe wie folgt aus Excel abgerufen werden:

Excel-Tabelle mit den vom datengesteuerten Skript ausgegebenen Kundennamen

Das datengetriebene Framework kann auch durch Schreiben entwickelt werden beschreibende Programmierung.

Verwendung der Datenbank als externe Quelle für DDF

Derselbe Testfall kann ausgeführt werden, wenn die externe Quelle eine Datenbank ist. Dazu müssen Sie die folgenden Schritte ausführen:

  1. Schreiben Sie VBScript, um die Datenbankverbindung herzustellen
  2. VBScript zum Öffnen eines Recordsets oder einer Tabelle.
  3. VBScript, um das gewünschte Feld zu öffnen
  4. Die jeweilige Zelle wird aus dem Feld gelesen.

Microsoft Access-Datenbanktabelle, die als externe Quelle für DDF verwendet wird

Skript

To Establish a Microsoft Database connection

Fahrer = {Microsoft Zugriffstreiber (*.mdb)}; DBQ =

Datensatzname: OpenOrder

Feldname: Bestellnr., Kundenname

PS: Microsoft Access 2010 kann mit dem folgenden Skript nicht verbunden werden.

VBScript stellt die Verbindung zur Access-Datenbank her und liest das Recordset

Ausgang

Datenbankausgabe mit dem Kundennamen für jede Bestellnummer

Vorteile von DDF

  • In einem einzigen Test können viele Testdaten gelesen und in die externe Datei geschrieben werden
  • Die Schleifenanweisung wird verwendet, um dieselben Schritte für mehrere Iterationen zu wiederholen. Dadurch wird der Codierungsaufwand reduziert
  • Da die Daten direkt in die externe Datei gelesen und geschrieben werden, ist es nicht erforderlich, Daten zu kopieren, einzufügen oder zu exportieren, um sie zu verwenden
  • Testdaten können aus einer externen Datei gelesen und die Ausgaben in jede andere externe Datei geschrieben werden

Nachteile von DDF

  • Für die Entwicklung dieses Frameworks sind Skriptkenntnisse erforderlich
  • Manchmal können eine große Anzahl oder Kombination von Daten aus einer externen Quelle wie einer Datenbank die Leistung verlangsamen oder sogar zum Absturz bringen. QTP

Schlüsselwortgesteuertes Framework

Das Keyword-Driven Framework ist ein Framework, bei dem Schlüsselwörter den Test steuern. Das Schlüsselwort bezieht sich auf die benutzerdefinierte Funktionen. In diesem Rahmen werden Schlüsselwörter erstellt, um einen bestimmten Testschritt oder einen Testfall durchzuführen. Diese Schlüsselwörter werden dann im Treibertest aufgerufen, um mehrere Testfälle im selben Test auszuführen.

Keyword-gesteuerte Framework-Struktur mit Schlüsselwörtern, die benutzerdefinierte Funktionen aufrufen

Generell können die Frameworks auf drei Arten entwickelt werden, um sie praxistauglich zu machen.

  1. Aufzeichnen und ausführen der Test
  2. Fügen Sie Objekte zum lokalen Repository hinzu und schreiben Sie die Skripte für alle Testschritte
  3. Schreiben Sie eine beschreibende Programmierung für alle Testschritte

In diesem Tutorial wird das KDF durch Aufzeichnen und Ausführen des Tests entwickelt.

Unser Ziel ist es, einen einzigen Test für fünf verschiedene Testfälle durchzuführen, z. B. Anmelden bei der Anwendung, Eingeben einer Bestellung, Öffnen einer Bestellung, Löschen einer Bestellung und Schließen der Anwendung. Daher werden wir die Testschritte für diese Testfälle aufzeichnen und die Funktionen mit den Schlüsselwörtern Login, InsertOrder, OpenOrder, DeleteOrder bzw. CloseApp erstellen.

Testfall 1: Melden Sie sich bei der Anwendung an

Stichwort: Anmeldung ()

Aufgezeichnetes Skript:

Aufgezeichnetes VBScript für das Login-Schlüsselwort des Anmeldebildschirms für Flugreservierungen

Testfall 2: Geben Sie die Bestellung ein

Stichwort:InsertOrder()

Aufgezeichnetes Skript:

Aufgezeichnetes VBScript für das Schlüsselwort InsertOrder

Testfall 3: Öffnen Sie die Bestellung

Stichwort:Offene Bestellung()

Aufgezeichnetes Skript:

Aufgezeichnetes VBScript für das Schlüsselwort OpenOrder

Testfall 4: Löschen Sie die Bestellung

Stichwort:DeleteOrder()

Aufgezeichnetes Skript:

Aufgezeichnetes VBScript für das Schlüsselwort DeleteOrder

Testfall 5: Schließen Sie die Anwendung

Stichwort:CloseApp()

Aufgezeichnetes Skript:

VBScript-Aufzeichnung für das Schlüsselwort „CloseApp“

Die für verschiedene Testfälle erstellten Funktionen werden in einer Funktionsbibliothek gespeichert und dem Haupttest zugeordnet. Es reicht aus, die Schlüsselwörter für die benötigten Testfälle im Haupttest aufzurufen und so die Größe des Treiberskripts im Haupttest zu reduzieren.

Das Treiberskript für dieses einfache Framework sieht wie folgt aus:

Das Treiberskript ruft alle fünf Schlüsselwörter von einem einzigen QTP/UFT Test

Durch Ausführen des obigen Skripts kann das tatsächliche Ergebnis für alle fünf Testfälle aus einem einzigen Test erhalten werden.

Vorteile

  • Es können beliebig viele Testfälle für einen einzelnen Test ausgeführt werden, indem einfach die jeweiligen Schlüsselwörter aufgerufen werden
  • Das Schreiben allgemeiner beschreibender Programmierung für alle Web-/Windows-Objekte und deren Aufruf als Schlüsselwörter hilft dabei, den gleichen Test für verschiedene dynamische Anwendungen auszuführen
  • Reduziert die Größe des Treiberskripts

Nachteile

  • Der Zeitaufwand für die Entwicklung dieser Frameworks ist sehr hoch, wenn nur sehr wenige Testfälle ausgeführt werden müssen
  • Das Aufzeichnen der Schritte wird nicht immer verwendet, wenn KDF für viele Anwendungen im selben Test entworfen wird.

Hybrides Framework

Ein hybrides Framework ist eine Kombination aus datengetriebenem Framework (DDF) und schlüsselwortgetriebenem Framework (KDF), bei dem mehrere Testfälle mit mehreren Eingaben im selben Test ausgeführt werden können.

In diesem Artikel werden dieselben Testfälle wie in KDF in einem einzigen Test ausgeführt. Die Schlüsselwörter und Skripte für alle Testfälle sind identisch mit denen in KDF. Der Testfall TC3: Bestellung öffnen wurde jedoch parametrisiert. Daher liest das Skript für diesen Testfall die Bestellnummer aus einer Excel-Datei und schreibt den Kundennamen in die Excel-Datei.

Hybrid-Framework, das Schlüsselwortfunktionen mit parametrisierten Excel-Daten kombiniert

Testfall 1: Melden Sie sich bei der Anwendung an

Stichwort: Anmeldung ()

Testfall 2: Geben Sie die Bestellung ein

Stichwort:InsertOrder()

Testfall 3: Bestellung für mehrere Bestellnummern öffnen

Stichwort:Offene Bestellung()

Beschreibung: Hier wird dasselbe Skript verwendet, das zur Entwicklung eines DDF verwendet wurde, wodurch der Testfall für mehrere Iterationen erreicht wird.

Skript:

Parametrisiertes OpenOrder-Schlüsselwortskript liest mehrere Bestellnummern aus Excel ein

Testfall 4: Löschen Sie die Bestellung

Stichwort:DeleteOrder()

Testfall 5: Schließen Sie die Anwendung

Stichwort:CloseApp()

Mit dieser einfachen Methode ist die Parametrisierung von TC3 abgeschlossen. Gegebenenfalls können im selben Test auch alle anderen Testfälle parametrisiert werden.

Das obige Beispiel ist eine sehr einfache Methode zur Entwicklung eines hybriden Frameworks. Dasselbe Framework lässt sich auch mit deskriptiver Programmierung realisieren.

Vorteile

  • Der Zeitaufwand für die Ausführung des mit einem Hybrid-Framework entwickelten Tests ist im Vergleich zu anderen Frameworks relativ kürzer
  • Dies kann verwendet werden, wenn wir alle Testfälle und Eingaben, die einem bestimmten Testfall zugeordnet sind, in derselben Testsuite benötigen.

Nachteil

  • Es sind klare Kenntnisse über die Kombination verschiedener Frameworks erforderlich.

Häufig gestellte Fragen

Nein. QuickTest Professional wurde zu Micro Focus. UFT und dann UFT Eins, und wird jetzt verkauft als OpenText Funktionstests. Die hier gezeigten Framework-Designs sind weiterhin gültig.

Neben datengesteuerten, schlüsselwortgesteuerten und hybriden Ansätzen nutzen Teams auch lineare Aufzeichnungs- und Wiedergabeverfahren, modulare Architekturen, Bibliotheksarchitekturen und verhaltensgesteuerte Designs. Die meisten ausgereiften Software-Suiten sind letztendlich hybrid.

KI in OpenText Funktionstests identifizieren Steuerelemente anhand ihres Aussehens und ihrer Bezeichnung anstatt anhand technischer Eigenschaften, sodass die Tests auch bei Änderungen der Benutzeroberfläche bestehen bleiben. KI-Assistenten erklären zudem älteres VBScript schnell.

Ja. Copilot Es empfiehlt sich die Verwendung von VBScript-Schleifen, Excel-Automatisierung und Fehlerbehandlung, was für Keyword-Bibliotheken geeignet ist. RevPrüfen Sie jeden Vorschlag, da Objekt-Repository-Namen und UFTDie spezifischen Methoden müssen zu Ihren Assets passen.

VBScript ist die einzige vollständig unterstützte Sprache innerhalb von UFT Eine einzige IDE. Excel-, Datenbank- und Dateizugriffe erfolgen alle über VBScript-Objekte, wie diese Schritt-für-Schritt-Anleitung zeigt.

Excel eignet sich für kleine, vom Tester gepflegte Datensätze. Eine Datenbank skaliert besser und unterstützt gemeinsamen Zugriff, aber große Ergebnismengen können den Test verlangsamen, wie das Quellskript warnt.

Ja. Mit diesen Designs erstellte Tests können gespeichert und ausgelöst werden von OpenText ALM oder ein CI-Job, sodass dieselbe Keyword-Bibliothek nach jedem Build unbeaufsichtigt ausgeführt wird.

Beginnen Sie datenbasiert mit einem aufgezeichneten Test und einer Excel-Tabelle. Sobald die Schritte stabil sind, kapseln Sie sie in Schlüsselwortfunktionen und kombinieren Sie beides zu einem hybriden Design.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: