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.

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:
- Notieren Sie das Objekt, für das Sie GetROProperty verwenden möchten. Objekt-Repository.
- Das aufgezeichnete Objekt identifiziert die Laufzeiteigenschaft, die verwendet werden könnte. Sie können den Objektinspektor verwenden.
- Verwenden Sie die GetROProperty-Methode, um die identifizierte Laufzeiteigenschaft abzurufen und den Wert in einer Variablen zu speichern.
- 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.
