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.

  • ๐Ÿ”Ž Object Spy eerst: Richt de cursor op een besturingselement om de eigenschappen van het testobject, de runtime-eigenschappen, de methoden en de volledige hiรซrarchie te bekijken.
  • โ˜‘๏ธ Twee objectwerelden: Het testobject is de opgeslagen beschrijving; het runtime-object is de live-besturing in de applicatie.
  • โœ… GetROProperty: Leest de huidige waarde van het live-besturingselement, dus de applicatie moet open zijn en het object moet bestaan.
  • ๐Ÿงช GetTOProperty: De methode leest in plaats daarvan de opgeslagen beschrijving, vandaar dat de twee methoden verschillende waarden kunnen retourneren.
  • ๏ธ SetTOProperty: Wijzigt alleen de beschrijving voor deze run; de repository wordt niet aangeraakt en de wijziging wordt aan het einde ongedaan gemaakt.
  • ๐Ÿ“Œ Geen SetROProperty: Een script kan de applicatie uitlezen, maar kan er geen eigenschap in terugschrijven.

Object Spy en de methoden GetROProperty, GetTOProperty en SetTOProperty in QTP en UFT One

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:

  1. Noteer het object waarop u GetROProperty wilt gebruiken in Object-opslagplaats.
  2. Het opgenomen object identificeert de runtime-eigenschap die gebruikt kan worden. Je kunt hiervoor Object Spy gebruiken.
  3. Gebruik de GetROProperty-methode om de geรฏdentificeerde runtime-eigenschap op te halen en de waarde in een variabele op te slaan.
  4. 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.

Veelgestelde vragen

Object Spy toont de identificatie-eigenschappen die de tool voor die klasse bevat, plus de native eigenschappen die door de browser worden weergegeven. Attribuut- en stijlwaarden zijn te vinden via de attribuut- en stijlvoorvoegsels in de eigenschapsstring.

Een runtime-object behoort tot de applicatie, niet tot de test, dus de tool zal er niet in schrijven. Om de inhoud van het applicatieobject te wijzigen, moet u het besturingselement aansturen met een gewone stap zoals Instellen, Selecteren of Klikken.

Nee. Het tijdelijke testobject wordt verwijderd zodra de uitvoering is voltooid, en de volgende keer wordt er een nieuwe kopie vanuit de repository aangemaakt. Permanente wijzigingen horen in de objectrepository zelf.

Ja. Een beschreven object dat inline is opgebouwd, accepteert dezelfde aanroepen, dus GetROProperty werkt met beschrijvende programmering ook. GetTOProperty retourneert dan de waarde uit de inline beschrijving in plaats van uit een opgeslagen item.

AI-ondersteunde zoektools rangschikken verschillende mogelijke eigenschappen voor hetzelfde besturingselement en herstellen een onjuiste beschrijving wanneer een attribuut verandert. Dit vermindert de noodzaak tot handmatige controle, hoewel de voorgestelde eigenschap nog steeds door een mens moet worden gecontroleerd.

Copilot voltooit de hiรซrarchie en de methodeaanroep zodra het een paar vergelijkbare regels in het bestand ziet. Het kan uw echte objectnamen of de eigenschappen die het besturingselement beschikbaar stelt niet kennen, dus controleer elke gegenereerde tekenreeks in Object Spy.

Object Spy is een inspectietool die waarden weergeeft tijdens het bouwen van het script. Een checkpoint is een stap die binnen de test wordt uitgevoerd en rapporteert of de test geslaagd of mislukt is ten opzichte van een opgeslagen verwachte waarde.

Alleen als het object nog in de applicatie bestaat. Een besturingselement dat niet is weergegeven, of dat van de pagina is verwijderd, geeft een foutmelding 'object niet gevonden' in plaats van een lege waarde terug te geven.

Vat dit bericht samen met: