GetRoProperty, GetToProperty in QTP/UFT met Voorbeeld
โก Slimme samenvatting
Object Spy onthult de eigenschappen en methoden van elk besturingselement in de te testen applicatie, terwijl GetROProperty, GetTOProperty en SetTOProperty die eigenschapswaarden lezen en schrijven. QTP or UFT Eรฉn script tegelijk tijdens de uitvoering.
Deze tutorial demonstreert Objectspion.
Object Spy kan helpen bij het bepalen van de nuttige eigenschappen en methoden die aan een object in uw omgeving zijn gekoppeld.
De HP/Microfocus UFT tutorials beschrijft ook GetROProperty, GetTOProperty & SetTOProperty.
โ ๏ธ Versie-opmerking: De hier beschreven tool werd oorspronkelijk uitgebracht als HP QuickTest Professional, werd later Micro Focus Unified Functional Testing en wordt tegenwoordig verkocht als... OpenText Functionele testen (UFT Een)Object Spy en alle drie de methoden werken nog steeds precies zoals hieronder beschreven.
Klik hier als de video niet toegankelijk is
Objectspion
- Object Spy is een functie in QTP waarmee je zowel de test- als de runtime-objecteigenschappen en -methoden kunt bekijken.
- Het geeft ook de syntaxis voor een geselecteerde methode.
- Object Spy toont de volledige hiรซrarchie van het object dat u hebt geselecteerd.
Die hiรซrarchie is belangrijk, omdat een eigenschapsnaam die uit Object Spy wordt gekopieerd, precies de tekenreeks is die de drie onderstaande methoden verwachten. Het bespioneren van een object is daarom de eerste stap in vrijwel elke taak voor het ophalen van eigenschappen.
GetROProperty
- GetROProperty is een ingebouwde methode waarmee de runtime-waarde van een objecteigenschap kan worden opgehaald.
Het gebruik van GetROProperty omvat 4 stappen:
- Noteer het object waarop u GetROProperty wilt gebruiken in Object-opslagplaats.
- Het opgenomen object identificeert de runtime-eigenschap die gebruikt kan worden. Je kunt hiervoor Object Spy gebruiken.
- Gebruik de GetROProperty-methode om de geรฏdentificeerde runtime-eigenschap op te halen en de waarde in een variabele op te slaan.
- Gebruik deze waarde voor verdere aftrekposten.
Omdat de waarde wordt uitgelezen vanuit de live-besturing, moet de applicatie open zijn en moet het object daadwerkelijk op het scherm aanwezig zijn wanneer de regel wordt uitgevoerd.
SetTOProperty & GetTOProperty
- Neem bijvoorbeeld een webknop die is opgeslagen in de objectrepository.
- Wanneer de test wordt uitgevoerd QTP Maakt een kopie van dit object, genaamd Testobject, en vergelijkt deze met het Runtimeobject.
- Met GetTOProperty kunt u de waarde van een eigenschap van een testobject ophalen.
- Met SetTOProperty kunt u de eigenschapswaarde van een testobject wijzigen.
- Wanneer de test is voltooid, wordt dit testobject verwijderd, evenals alle wijzigingen die u in de objecteigenschappen hebt aangebracht met behulp van SetTOProperty.
- Wanneer de test opnieuw wordt uitgevoerd, wordt er een nieuwe kopie van het testobject gemaakt met originele eigenschapswaarden opgeslagen in de objectrepository
- Je kunt overwegen om GetTOProperty en SetTOProperty te gebruiken wanneer je testscript meerdere regels code bevat en je omgeving onregelmatig is.
- Ter informatie: er bestaat geen SetROProperty.
Syntaxis en voorbeelden
Alle drie de methoden worden aangeroepen op een testobject aan het einde van de hiรซrarchie, en alle drie nemen een beschrijvingseigenschapnaam als string als argument. De tabel toont de signatuur van elke methode.
| Methode | Syntaxis | Leest of schrijft |
|---|---|---|
| GetROProperty | object.GetROProperty(Property) | Leest de live-besturing in de applicatie. |
| GetTOProperty | object.GetTOProperty(Property) | Leest de opgeslagen beschrijving van het testobject. |
| SetTOProperty | object.SetTOProperty Eigenschap, Waarde | Schrijft alleen voor deze testuitvoering de beschrijving van het testobject. |
Het uitlezen van een runtime-waarde is een enkele instructie. Dit voorbeeld is afkomstig van... officiรซle referentie voor het ophalen en instellen van waarden, haalt het doeladres van een link op tijdens de uitvoeringssessie.
link_href = Browser("Technologies").Page("Technologies").Link("Jobs").GetROProperty("href")
Het schrijven en vervolgens uitlezen van een eigenschap van een testobject is net zo eenvoudig. Het onderstaande voorbeeld stelt de naam van de verzendknop in op mijn knop en leest dezelfde waarde direct weer uit.
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")
Een typische verificatie combineert de twee ideeรซn: lees de waarde tijdens de uitvoering met GetROProperty en vergelijk deze vervolgens met wat de test verwacht.
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
Verschil tussen GetROProperty en GetTOProperty
De twee namen verschillen slechts รฉรฉn letter en vormen het meest verwarrende paar in de tool. RO staat voor runtime object, TO voor test object, en ze lezen elk gegevens van een andere locatie.
| Punt van vergelijking | GetROProperty | GetTOProperty |
|---|---|---|
| Bron van de waarde | De live besturing in de draaiende applicatie | De beschrijving die is opgeslagen voor het testobject. |
| De aanvraag moet openstaan. | Ja | Nee |
| Ziet een SetTOProperty-wijziging | Nee | Ja, voor de huidige run. |
| Typisch gebruik | Controleren wat de gebruiker daadwerkelijk ziet | Controleren of debuggen hoe het object wordt geรฏdentificeerd. |
| Matching setter | Geen โ er bestaat geen SetROProperty | SetTOProperty |
Een uitgewerkt contrast maakt de splitsing duidelijk. Stel een HTML-ID in voor een lijst die er geen heeft, en lees deze vervolgens in beide richtingen terug: GetROProperty retourneert een lege tekenreeks omdat de applicatie nooit is gewijzigd, terwijl GetTOProperty de waarde retourneert die zojuist in de beschrijving is geschreven.
Veelvoorkomende fouten en hoe u ze kunt oplossen
Het ophalen van eigenschappen mislukt om een โโklein aantal voorspelbare redenen. De tabel geeft een overzicht van de redenen die testers het vaakst tegenkomen.
| Symptoom | Veroorzaken | Bepalen |
|---|---|---|
| De aanroep retourneert een lege tekenreeks. | De eigenschapsnaam is onjuist, of het object geeft deze niet weer. | Bekijk het object opnieuw en kopieer de eigenschapsnaam exact zoals deze is weergegeven. |
| Object niet gevonden op de GetROProperty-regel | De besturing was nog niet weergegeven. | Voeg een synchronisatiestap toe vรณรณr het lezen. |
| GetROProperty negeert een SetTOProperty-wijziging. | De twee methoden richten zich per definitie op verschillende objecten. | Lees de wijziging terug met GetTOProperty in plaats daarvan |
| Een SetTOProperty-wijziging verdwijnt. | Bewerkingen van testobjecten gelden alleen voor de huidige testrun. | Bewerk het object in de repository, of gebruik beschrijvende programmering |
| SetROProperty geeft een syntaxfout. | Een dergelijke methode bestaat niet. | Doorloop de applicatie via een normale stap, zoals 'Instellen' of 'Klikken'. |
Twee gewoontes voorkomen de meeste van deze problemen: controleer de besturingselementen voordat je de regel schrijft in plaats van de eigenschapsnaam te raden, en blijf VBScript De ophaalfunctie wordt vlak voor de stap aangeroepen die de waarde nodig heeft, zodat het object nog steeds op het scherm zichtbaar is wanneer de leesbewerking plaatsvindt.
