GetRoProperty, GetToProperty in QTP/UFT mit Beispiel

⚡ Intelligente Zusammenfassung

Der Objekt-Spion zeigt die Eigenschaften und Methoden jedes Steuerelements in der zu testenden Anwendung an, während GetROProperty, GetTOProperty und SetTOProperty diese Eigenschaftswerte lesen und schreiben. QTP or UFT Ein Skript zur Laufzeit.

  • 🔎 Objekt-Spion zuerst: Richten Sie es auf ein Steuerelement, um die Eigenschaften des Testobjekts, die Laufzeiteigenschaften, die Methoden und die vollständige Hierarchie anzuzeigen.
  • ☑️ Zwei Objektwelten: Das Testobjekt ist die gespeicherte Beschreibung; das Laufzeitobjekt ist das Live-Steuerelement in der Anwendung.
  • ✅ GetROProperty: Liest den aktuellen Wert vom Live-Steuerelement, daher muss die Anwendung geöffnet sein und das Objekt muss existieren.
  • 🧪 GetTOProperty: Liest stattdessen die gespeicherte Beschreibung, weshalb die beiden Methoden unterschiedliche Werte zurückgeben können.
  • ️ SetTOProperty: Ändert nur die Beschreibung für diesen Durchlauf; das Repository wird nicht verändert und die Änderung wird am Ende verworfen.
  • 📌 Keine SetROProperty: Ein Skript kann die Anwendung lesen, aber keine Eigenschaften wieder in sie hineinschreiben.

Objekt-Spion und die Methoden GetROProperty, GetTOProperty und SetTOProperty in QTP und UFT Eins

Dieses Tutorial zeigt Objektspion.

Object Spy kann dabei helfen, die nützlichen Eigenschaften und Methoden zu ermitteln, die einem Objekt in Ihrer Umgebung zugeordnet sind.

Der HP/Micro Focus UFT Tutorials beschreibt auch GetROProperty, GetTOProperty & SetTOProperty.

⚠️ Versionshinweis: Das hier beschriebene Tool wurde als HP QuickTest Professional ausgeliefert, später in Micro Focus Unified Functional Testing umbenannt und wird heute als HP QuickTest Professional vertrieben. OpenText Funktionstests (UFT Ein)Object Spy und alle drei Methoden funktionieren weiterhin genau wie unten beschrieben.

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

Objektspion

  • Objekt-Spion ist eine Funktion in QTP Mit dieser Methode können Sie sowohl die Eigenschaften und Methoden des Test- als auch des Laufzeitobjekts anzeigen.
  • Außerdem wird die Syntax für eine ausgewählte Methode angegeben.
  • Object Spy zeigt die vollständige Hierarchie des von Ihnen ausgewählten Objekts an.

Diese Hierarchie ist wichtig, da ein aus dem Objekt-Spion kopierter Eigenschaftsname genau der Zeichenkette entspricht, die die drei unten aufgeführten Methoden erwarten. Das Spionieren eines Objekts ist daher der erste Schritt bei fast jeder Aufgabe zum Abrufen von Eigenschaften.

GetROProperty

  • GetROProperty – ist eine integrierte Methode, mit der der Laufzeitwert einer Objekteigenschaft abgerufen werden kann.

Die Verwendung von GetROProperty umfasst 4 Schritte:

  1. Notieren Sie das Objekt, für das Sie GetROProperty verwenden möchten. Objekt-Repository.
  2. Das aufgezeichnete Objekt identifiziert die Laufzeiteigenschaft, die verwendet werden könnte. Sie können den Objektinspektor verwenden.
  3. Verwenden Sie die GetROProperty-Methode, um die identifizierte Laufzeiteigenschaft abzurufen und den Wert in einer Variablen zu speichern.
  4. Verwenden Sie diesen Wert für weitere Abzüge.

Da der Wert aus dem Live-Steuerelement gelesen wird, muss die Anwendung geöffnet sein und das Objekt muss tatsächlich auf dem Bildschirm vorhanden sein, wenn die Zeile ausgeführt wird.

SetTOProperty & GetTOProperty

  • Betrachten wir einen Webbutton, der im Objekt-Repository gespeichert ist.
  • Wenn der Test ausgeführt wird QTP Erstellt eine Kopie dieses Objekts namens Testobjekt und vergleicht sie mit dem Laufzeitobjekt.
  • Mit GetTOProperty können Sie den Wert einer Eigenschaft des Testobjekts abrufen.
  • Mit SetTOProperty können Sie den Eigenschaftswert eines Testobjekts ändern.
  • Nach Abschluss des Tests wird dieses Testobjekt verworfen, ebenso wie alle Änderungen, die Sie mit SetTOProperty an den Objekteigenschaften vorgenommen haben.
  • Wenn der Test erneut ausgeführt wird, wird eine neue Kopie des Testobjekts mit den ursprünglichen Eigenschaftswerten erstellt, die im Objekt-Repository gespeichert sind
  • Sie können die Methoden GetTOProperty und SetTOProperty verwenden, wenn Ihr Testskript mehrere Codezeilen umfasst und Ihre Umgebung unregelmäßig ist.
  • Zur Anmerkung: Es gibt keine SetROProperty.

Syntax und Beispiele

Alle drei Methoden werden für ein Testobjekt am Ende seiner Hierarchie aufgerufen und erwarten als Eigenschaftsnamen eine Zeichenkette. Die Tabelle zeigt die Signatur jeder Methode.

Methodik Syntax Liest oder schreibt
GetROProperty object.GetROProperty(Property) Liest die Live-Steuerung in der Anwendung.
GetTOProperty object.GetTOProperty(Property) Liest die gespeicherte Testobjektbeschreibung
SetTOProperty object.SetTOProperty Property, Value Schreibt die Testobjektbeschreibung nur für diesen Lauf

Das Auslesen eines Laufzeitwerts erfolgt mit einer einzigen Anweisung. Dieses Beispiel stammt aus dem offizielle Referenz zum Abrufen und Setzen von Werten, ermittelt die Zieladresse eines Links während der Laufzeit.

link_href = Browser("Technologies").Page("Technologies").Link("Jobs").GetROProperty("href")

Das Schreiben und anschließende Lesen einer Testobjekt-Eigenschaft ist genauso schnell. Das folgende Codepaar setzt den Namen der Schaltfläche „Absenden“ auf meine Schaltfläche und liest denselben Wert direkt wieder aus.

Browser("QA Home Page").Page("QA Home Page").WebButton("Submit").SetTOProperty "Name", "my button"
ButtonName = Browser("QA Home Page").Page("QA Home Page").WebButton("Submit").GetTOProperty("Name")

Eine typische Verifizierung verbindet die beiden Ideen: den Laufzeitwert mit GetROProperty lesen und ihn dann mit dem vergleichen, was der Test erwartet.

strValue = Browser("Welcome").Page("Find a Flight").WebList("fromPort").GetROProperty("selection")
If strValue = "Acapulco" Then
    Reporter.ReportEvent micPass, "Default city", "Default city is correct"
Else
    Reporter.ReportEvent micFail, "Default city", "Unexpected value: " & strValue
End If

Unterschied zwischen GetROProperty und GetTOProperty

Die beiden Bezeichnungen unterscheiden sich nur durch einen Buchstaben und sind das am häufigsten verwechselte Paar im Tool. RO steht für Laufzeitobjekt, TO für Testobjekt, und beide lesen Daten aus unterschiedlichen Bereichen.

Vergleichspunkt GetROProperty GetTOProperty
Quelle des Wertes Die Live-Steuerung in der laufenden Anwendung Die für das Testobjekt gespeicherte Beschreibung
Die Bewerbung muss offen sein. Ja Nein
Sieht eine SetTOProperty-Änderung Nein Ja, für den aktuellen Lauf
Typische Verwendung Überprüfung dessen, was der Benutzer tatsächlich sieht Überprüfung oder Fehlersuche bei der Objektidentifizierung
Passender Zuspieler Keine – es gibt keine SetROProperty. SetTOProperty

Ein praktischer Vergleich verdeutlicht den Unterschied. Weisen Sie einer Liste ohne ID eine HTML-ID zu und lesen Sie sie anschließend auf beide Arten aus: `GetROProperty` gibt einen leeren String zurück, da sich die Anwendung nicht geändert hat, während `GetTOProperty` den Wert zurückgibt, der gerade in die Beschreibung geschrieben wurde.

Häufige Fehler und deren Behebung

Das Abrufen von Eigenschaften schlägt aus wenigen, vorhersehbaren Gründen fehl. Die Tabelle listet die Gründe auf, die Tester am häufigsten feststellen.

Symptom Verursachen Fixieren
Der Aufruf gibt eine leere Zeichenkette zurück. Der Eigenschaftsname ist falsch, oder das Objekt stellt ihn nicht bereit. Überprüfen Sie das Objekt erneut und kopieren Sie den Eigenschaftsnamen exakt so, wie er aufgelistet ist.
Objekt in der Zeile GetROProperty nicht gefunden Die Steuerung war noch nicht gerendert worden. Fügen Sie vor dem Lesen einen Synchronisierungsschritt hinzu.
GetROProperty ignoriert eine SetTOProperty-Änderung Die beiden Methoden adressieren konstruktionsbedingt unterschiedliche Objekte. Lesen Sie die Änderung stattdessen mit GetTOProperty zurück.
Eine SetTOProperty-Änderung verschwindet. Änderungen an Testobjekten gelten nur für den aktuellen Durchlauf. Bearbeiten Sie das Objekt im Repository oder verwenden Sie beschreibende Programmierung
SetROProperty löst einen Syntaxfehler aus Eine solche Methode existiert nicht. Führen Sie die Anwendung durch einen normalen Schritt wie z. B. Festlegen oder Klicken.

Zwei Gewohnheiten verhindern die meisten dieser Fehler: Überprüfen Sie das Steuerelement, bevor Sie die Zeile schreiben, anstatt den Eigenschaftsnamen zu erraten, und behalten Sie die Kontrolle. VBScript Die Abrufe erfolgen nahe an dem Schritt, der den Wert benötigt, sodass sich das Objekt noch auf dem Bildschirm befindet, wenn der Lesevorgang stattfindet.

Häufig gestellte Fragen

Object Spy listet die Identifikationseigenschaften auf, die das Tool für diese Klasse speichert, sowie die vom Browser bereitgestellten nativen Eigenschaften. Attribut- und Stilwerte werden über die entsprechenden Präfixe innerhalb der Eigenschaftszeichenfolge aufgerufen.

Ein Laufzeitobjekt gehört zur Anwendung, nicht zum Test, daher kann das Tool nicht darauf zugreifen. Um die Daten der Anwendung zu ändern, verwenden Sie einen normalen Schritt wie „Setzen“, „Auswählen“ oder „Klicken“, um das Steuerelement anzusteuern.

Nein. Das temporäre Testobjekt wird nach Beendigung des Testlaufs verworfen, und beim nächsten Mal wird eine neue Kopie aus dem Repository erstellt. Permanente Änderungen gehören in das Objekt-Repository selbst.

Ja. Ein beschriebenes, inline erstelltes Objekt akzeptiert dieselben Aufrufe, daher funktioniert GetROProperty damit. beschreibende Programmierung Auch GetTOProperty gibt dann den Wert aus der Inline-Beschreibung zurück, anstatt aus einem gespeicherten Eintrag.

KI-gestützte Suchwerkzeuge bewerten mehrere Kandidateneigenschaften für dasselbe Steuerelement und korrigieren fehlerhafte Beschreibungen, sobald sich ein Attribut ändert. Dadurch wird der manuelle Suchaufwand reduziert, die vorgeschlagene Eigenschaft muss jedoch weiterhin manuell überprüft werden.

Copilot vervollständigt die Hierarchie und den Methodenaufruf, sobald es einige ähnliche Zeilen in der Datei findet. Da es weder Ihre tatsächlichen Objektnamen noch die vom Steuerelement bereitgestellten Eigenschaften kennt, sollten Sie jede generierte Zeichenfolge im Objektinspektor überprüfen.

Object Spy ist ein Inspektionstool, das Werte während der Skripterstellung anzeigt. Ein Prüfpunkt ist ein Schritt, der innerhalb des Tests ausgeführt wird und meldet, ob der Test bestanden oder fehlgeschlagen ist, verglichen mit einem gespeicherten Sollwert.

Nur wenn das Objekt in der Anwendung noch existiert. Ein Steuerelement, das nicht gerendert wurde oder von der Seite entfernt wurde, löst einen Fehler „Objekt nicht gefunden“ aus, anstatt einen leeren Wert zurückzugeben.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: