Aktionen ein QTP/UFT mit Beispiel

⚡ Intelligente Zusammenfassung

Aktionen ein UFT/QTP Teilen Sie ein Testskript in logische, wiederverwendbare Einheiten auf, damit Tester Automatisierungen schneller erstellen, warten und teilen können. Diese Seite erklärt die drei Aktionstypen, wie man sie aufteilt und aufruft und wie man Daten zwischen Aktionen übergibt.

  • 🧩 Definition: Eine Aktion gruppiert eine Reihe von Testschritten zu einer modularen, wiederverwendbaren Einheit innerhalb eines UFT/QTP Skripte.
  • 🔁 Wiederverwendbare Aktionen: Rufen Sie dieselbe Aktion mehrmals auf, entweder im selben Test oder in einem anderen Test.
  • 🔒 Nicht wiederverwendbare Aktionen: Führen Sie die Tests nur einmal und nur innerhalb des Tests aus, in dem sie erstellt wurden.
  • 🌐 Externe Maßnahmen: Eine wiederverwendbare Aktion wird schreibgeschützt, sobald sie von einem anderen Test aufgerufen wird.
  • Aufteilen: Zerlegen Sie eine große Aktion in unabhängige Geschwisteraktionen oder ein verschachteltes Eltern-Kind-Paar.
  • 📞 Aufruf von Aktionen: Fügen Sie eine neue Aktion, eine Kopie einer Aktion oder einen Aufruf einer bestehenden Aktion ein.
  • 📤 Parameter: Übergeben Sie Eingabe- und Ausgabewerte zwischen Aktionen mithilfe der RunAction-Anweisung.
  • 🗂️ Datenblätter: Verwenden Sie das globale Tabellenblatt für testweite Daten und das lokale Tabellenblatt jeder Aktion für private Daten.

Was ist eine Handlung in UFT/QTP?

Aktion in UFT/QTP Unterteilen Sie einen Test in „logische Einheiten“ oder „Geschäftsprozesse“. Jede Aktion fasst die Schritte zusammen, die eine erkennbare Aufgabe ausführen, wie z. B. Anmelden, einen Flug suchen oder ein Ticket buchen. Aktionen tragen dazu bei, ein modulareres und effizienteres Skript zu erstellen.

Ein neu erstelltes Skript besteht zunächst nur aus einer Aktion. Sie können Ihrem Micro Focus-Skript weitere Aktionen hinzufügen. UFT Das Skript entspricht den Anforderungen, und jede hinzugefügte Aktion behält ihre eigene Logik und ihre eigenen lokalen Daten, getrennt vom Rest des Tests.

Das Aufteilen eines langen Skripts in einzelne Aktionen zahlt sich aus, sobald ein Test geändert werden muss. Ein Tester kann eine Aktion, beispielsweise die Anmeldesequenz, aktualisieren, ohne die Such- oder Bezahllogik in anderen Aktionen zu beeinträchtigen. Diese Isolation macht Aktionen außerdem zu wiederverwendbaren Bausteinen, die andere Skripte aufrufen können, anstatt dieselben Schritte erneut aufzuzeichnen.

Ein typisches Flugreservierungsskript lässt sich beispielsweise übersichtlich in die Aktionen „Anmelden“, „Flug suchen“ und „Ticket buchen“ unterteilen. Jede dieser Aktionen umfasst ihre eigenen Schritte und lokalen Daten, sodass ein Tester, der lediglich die Anmeldung überprüfen muss, den Buchungsablauf weder aufzeichnen noch pflegen muss.

Arten von Aktionen in UFT/QTPWiederverwendbar, nicht wiederverwendbar und extern

UFT/QTP Unterstützt drei Arten von Aktionen, und die Wahl des Typs entscheidet darüber, ob eine Aktion skriptübergreifend genutzt werden kann oder nur in dem Test verfügbar bleibt, in dem sie erstellt wurde.

Aktionstyp Wo es laufen kann Im Aufruftest bearbeitbar
Mehrweg Derselbe Test, mehrmals, oder ein anderer Test Ja, aus dem Test, dem er gehört.
Nicht wiederverwendbar Nur in dem Test, in dem es erstellt wurde, und nur einmal. Ja
Externe Wiederverwendbarkeit Aufgerufen von einem anderen Test als gemeinsam genutzte, gespeicherte Aktion Nein, schreibgeschützt; nur die lokale Kopie der Datentabelle ist bearbeitbar.

Eine wiederverwendbare Aktion wird zu einer Externe Maßnahmen Sobald ein anderer Test die Aktion aufruft, anstatt des Tests, der sie definiert, bleibt die Aktion schreibgeschützt. Externe Aktionen bleiben im aufrufenden Test schreibgeschützt, da eine gemeinsam genutzte Aktion von Dutzenden Skripten gleichzeitig verwendet werden kann und die Bearbeitung der Schritte durch jeden Aufrufer die anderen Skripte beeinträchtigen würde. Sie können den Aufruf weiterhin parametrisieren und lokal mit einer Kopie der zugehörigen Datentabelle arbeiten.

Als Faustregel gilt: Eine neue Aktion sollte nicht wiederverwendbar sein, solange ihre Logik noch spezifisch für einen einzigen Test ist. PromoMachen Sie es wiederverwendbar, sobald ein zweites Skript die gleichen Schritte benötigt, und erwarten Sie, dass es sich wie eine externe, schreibgeschützte Aktion verhält, sobald dieses zweite Skript es aufruft.

So teilen, kopieren und rufen Sie Aktionen auf in UFT

Wenn eine Handlung an Fahrt gewinnt, behalten Sie sie beiping Jeder Schritt an einer Stelle macht das Skript schwieriger zu debuggen und wiederzuverwenden. UFT Ermöglicht es Ihnen, eine bestehende Aktion in zwei Wege aufzuteilen, sobald sie unübersichtlich wird.

  • Unabhängige (Geschwister-)Aufspaltung: Die ausgewählte Aktion teilt sich in zwei separate Aktionen auf, die nacheinander ausgeführt werden, wobei jede Aktion keeping seine eigene lokale Datentabelle.
  • Verschachtelte (Eltern-Kind-)Aufteilung: Die ausgewählte Aktion teilt sich in eine übergeordnete Aktion auf, deren letzter Schritt die zweite, untergeordnete Aktion aufruft, wodurch eine logische Abhängigkeit zwischen den beiden erhalten bleibt.

Sobald Aktionen vorhanden sind, UFT bietet drei Möglichkeiten, eine Aktion aus dem Test in einen Test zu bringen Insert Menü:

  • Aufruf zu einer neuen Aktion einfügen: Erstellt eine neue, leere Aktion innerhalb des aktuellen Tests.
  • Aufruf zur Kopie der Aktion einfügen: Kopiert eine bestehende Aktion vollständig, einschließlich Prüfpunkte, Parametrisierung und Datentabelle, in den aufrufenden Test. Die Kopie ist vollständig unabhängig, sodass Änderungen weder das Original beeinflussen noch von ihm beeinflusst werden. Sie können sowohl wiederverwendbare als auch nicht wiederverwendbare Aktionen kopieren.
  • Aufruf einer bestehenden Aktion einfügen: Fügt einen schreibgeschützten Aufruf einer wiederverwendbaren Aktion ein, die in einem anderen Test gespeichert ist. Diese Aktion kann nur in dem Test geändert werden, in dem sie erstellt wurde. Dadurch bleiben alle Aufrufer synchron, und große Testsuiten lassen sich leichter warten.

Jeder Anruf lässt sich auf Folgendes zusammenfassen: RunAction Aussage in der Expertenmeinung:

' Calls Action2, which is stored in Test2, running it for one iteration
RunAction "Action2[Test2]", oneIteration

Die Aktion wird so oft ausgeführt, wie es ihre Aktionsaufrufeigenschaften festlegen. Wenn beispielsweise Aktion2 so konfiguriert ist, dass sie bei jeder Iteration der Datentabelle von Test2 ausgeführt wird, die aufrufende Aktion1 in Test1 aber nur einmal ausgeführt wird, wird Aktion2 dennoch nur einmal ausgeführt, da der Aufruf selbst nur einmal ausgelöst wird.

💡 Tipp: Wenn ein Test mehrere Aktionen enthält, öffnen Sie den Testablauf Klicken Sie im Menü „Ansicht“ auf den Bereich, um die Elemente per Drag & Drop neu anzuordnen. Dadurch ändert sich die Reihenfolge, in der UFT Führt die Aktionen aus, ohne die Schritte innerhalb einer einzelnen Aktion zu bearbeiten.

Das untenstehende Video baut auf dem in früheren Tutorials erstellten fünfstufigen Anmeldeskript auf. Flugreservierung und führt Schritt für Schritt durch das Erstellen, Aufteilen und Aufrufen von Aktionen. Es ist das längste Video in diesem Abschnitt. UFT/QTP TutorialreiheDaher ist es hilfreich, sich während des Ansehens Notizen zu machen.

Klicken Sie auf werden auf dieser Seite erläutert wenn das Video nicht zugänglich ist

Wie man Parameter übergibt und Ausgabewerte zwischen Aktionen speichert

Abgesehen vom Aufruf einer Aktion müssen die meisten realen Skripte Daten hineinbewegen und ein Ergebnis wieder auslesen. UFT Jede Aktion erhält eigene Eingabe- und Ausgabeparameter sowie mehrere Möglichkeiten, die Rückgabewerte zu speichern.

Übergabe von Parametern an und von einer Aktion

Genau wie Funktionen oder Methoden In Programmiersprachen kann eine Aktion Eingabe und Ausgabe definieren. ParameterDieser Parameter steht in keiner Beziehung zu Testdatenparametrisierung Wie bereits erwähnt, gehören die Parameter hier zur Aktion selbst, nicht zu einer Datentabellenspalte. Konfigurieren Sie sie hier Bearbeiten > Aktion > Aktionseigenschaftenoder durch Rechtsklick auf die Aktion in der Stichwortansicht. Werte werden beim Aufruf mit dieser Syntax übergeben:

' Passes an input value and captures the action's output into myResult
RunAction "Action1", oneIteration, "testuser", myResult

Speichern des Ausgabewerts einer Aktion

Je nachdem, was der Rest des Skripts benötigt, können Sie den Rückgabewert einer Aktion an einem von drei Orten speichern:

  • Eine Variable: RunAction "Action1", oneIteration, "testuser", myResult speichert die Ausgabe direkt in myResult.
  • An variable Umgebung: Erstellen Sie eine benutzerdefinierte Variable unter Datei > Einstellungen > Umgebungdann schreibe RunAction "Action1", oneIteration, "testuser", Environment("env_var").
  • Eine Datentabellenspalte: RunAction "Action1", oneIteration, "testuser", DataTable("A", dtGlobalSheet) Schreibt das Ergebnis direkt in das globale Tabellenblatt.

Globale und lokale Datenblätter

Aktionen lesen und schreiben Testdaten über zwei Arten von Tabellenblättern. Globales Datenblatt ist einzigartig für den gesamten Test; jede Aktion kann darauf zugreifen und es wird immer als „Global“ bezeichnet. Lokales Datenblatt ist für jede Aktion einzigartig, wird nach dieser Aktion benannt und kann nur von der jeweiligen Aktion gelesen oder geschrieben werden.

Beendigung einer Aktion und Steuerung der Iteration

Wenn ein Schritt eine Aktion vorzeitig abbrechen muss, anstatt sie bis zum Ende auszuführen, UFT stellt vier Aussagen dar:

  • ExitAction — stoppt nur die aktuelle Aktion.
  • ExitActionIteration — beendet die aktuelle Iteration der Aktion und fährt mit der nächsten fort.
  • ExitRun — stoppt den gesamten Testlauf sofort.
  • ExitGlobalIteration — beendet die aktuelle globale Testiteration und fährt mit der nächsten fort.

Während der Ausführung von a UFT/QTP Skript Wenn Sie Aktionen verwenden, beachten Sie globale und lokale Iterationen, da beide beeinflussen, wie oft eine Aktion ausgeführt wird. Sie können die Wiederholungshäufigkeit einer aufgerufenen Aktion ändern, indem Sie die entsprechende Einstellung öffnen. Eigenschaften des Aktionsaufrufs > Ausführen Klicken Sie auf die Registerkarte und stellen Sie dort den Iterationsmodus ein.

⚠ Häufige Fehlerquelle: Eine aufgerufene Aktion, die für jede lokale Iteration konfiguriert ist, aber von einem übergeordneten Element ausgelöst wird, das nur einmal ausgeführt wird, wird dennoch nur einmal ausgeführt. Überprüfen Sie sowohl die globale Iterationsanzahl des übergeordneten Elements als auch die Aktionsaufrufeigenschaften des untergeordneten Elements, bevor Sie davon ausgehen, dass eine aufgerufene Aktion wiederholt wird.

Häufig gestellte Fragen

Eine Aktion ist eingebaut UFT Es handelt sich um eine Funktion mit eigenem Objekt-Repository und eigener Datentabelle, die möglicherweise wiederverwendbar ist. Funktion ist reines VBScript, ist immer wiederverwendbar und verfügt weder über ein eigenes Objekt-Repository noch über eine eigene Datentabelle.

Ja. Öffnen Sie die Eigenschaften der Aktion und aktivieren/deaktivieren Sie das Wiederverwendbarkeitsflag jederzeit. Wenn Sie eine zuvor wiederverwendbare Aktion als nicht wiederverwendbar markieren, während sie noch von anderen Tests aufgerufen wird, schlagen diese aufrufenden Tests fehl. UFT Es wird eine Warnung angezeigt, bis die Anrufe entfernt werden.

Aktionen werden zusammen mit dem Test als .mtr/.mts-Aktionsordner gespeichert, anstatt als eigenständige Skriptdateien. Funktionsbibliotheken hingegen werden als separate .vbs- oder .qfl-Dateien gespeichert, die von jedem Test zugeordnet und wiederverwendet werden können.

Ja. KI-gestützte Testdesign-Tools können einen aufgezeichneten Ablauf analysieren und logische Haltepunkte wie Anmeldung, Suche und Bezahlvorgang als mögliche Aktionen vorschlagen. Ein Tester sollte jedoch vor der endgültigen Festlegung prüfen, ob die Aufteilung den tatsächlichen Wiederverwendungsanforderungen entspricht.

Das ist hilfreich. Die selbstheilende Objekterkennung verknüpft ein verschobenes oder umbenanntes Steuerelement innerhalb einer Aktion neu, anstatt sofort abzubrechen. Dadurch wird der Wartungsaufwand für wiederverwendbare und externe Aktionen, die von vielen Skripten gemeinsam genutzt werden, reduziert. RevIch betrachtete geheilte Gegenstände eingehend, bevor ich ihnen vollständig vertraute.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: