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 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.
Die allgemeinen Schritte des datengesteuerten Frameworks sind:
- Bereite das ... Vor Testfall fรผr die zu testende Anwendung
- Fรผgen Sie die Objekte von AUT zu OR hinzu
- 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
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:
2. Kontrollkรคstchen โBestellnummerโ, das durch Anklicken des Symbols โOrdner รถffnenโ angezeigt wird:
3. Das WinEdit-Feld der Bestellnummer (in dem die Nummern eingegeben werden):
4. Die OK-Taste:
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:
Sobald alle erforderlichen Objekte hinzugefรผgt wurden, sieht das Objekt-Repository wie folgt aus:
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
Ausgang
Sobald das obige Skript ausgefรผhrt wird, kann die Ausgabe wie folgt aus Excel abgerufen werden:
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:
- Schreiben Sie VBScript, um die Datenbankverbindung herzustellen
- VBScript zum รffnen eines Recordsets oder einer Tabelle.
- VBScript, um das gewรผnschte Feld zu รถffnen
- Die jeweilige Zelle wird aus dem Feld gelesen.
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.
Ausgang
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.
Generell kรถnnen die Frameworks auf drei Arten entwickelt werden, um sie praxistauglich zu machen.
- Aufzeichnen und ausfรผhren der Test
- Fรผgen Sie Objekte zum lokalen Repository hinzu und schreiben Sie die Skripte fรผr alle Testschritte
- 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:
Testfall 2: Geben Sie die Bestellung ein
Stichwort:InsertOrder()
Aufgezeichnetes Skript:
Testfall 3: รffnen Sie die Bestellung
Stichwort:Offene Bestellung()
Aufgezeichnetes Skript:
Testfall 4: Lรถschen Sie die Bestellung
Stichwort:DeleteOrder()
Aufgezeichnetes Skript:
Testfall 5: Schlieรen Sie die Anwendung
Stichwort:CloseApp()
Aufgezeichnetes Skript:
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:
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.
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:
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.




















