GetRoProperty, GetToProperty i QTP/UFT med Eksempel

⚡ Smart opsummering

Object Spy afslører egenskaberne og metoderne for enhver kontrol i den applikation, der testes, mens GetROProperty, GetTOProperty og SetTOProperty læser og skriver disse egenskabsværdier fra en QTP or UFT Ét script ad gangen.

  • 🔎 Objektspion først: Peg den mod et kontrolelement for at se testobjektets egenskaber, kørselsegenskaberne, metoderne og det fulde hierarki.
  • ☑️ To objektverdener: Testobjektet er den gemte beskrivelse; runtime-objektet er live-kontrollen i applikationen.
  • GetROProperty: Læser den aktuelle værdi fra live-kontrollen, så applikationen skal være åben, og objektet skal eksistere.
  • 🧪 GetTOProperty: Læser i stedet den gemte beskrivelse, hvilket er grunden til, at de to metoder kan returnere forskellige værdier.
  • 🛠️ SetTOProperty: Ændrer kun beskrivelsen for denne kørsel; arkivet berøres aldrig, og ændringen kasseres til sidst.
  • 📌 Ingen SetRO-egenskab: Et script kan læse applikationen, men kan ikke skrive en egenskab tilbage i den.

Object Spy og metoderne GetROProperty, GetTOProperty og SetTOProperty i QTP og UFT Én

Denne tutorial demonstrerer Objektspion.

Object Spy kan hjælpe med at bestemme de nyttige egenskaber og metoder forbundet med et objekt i dit miljø.

HP/Micro Focus UFT tutorials beskriver også GetROProperty, GetTOProperty & SetTOProperty.

⚠️ Versionsnotat: Værktøjet beskrevet her blev leveret som HP QuickTest Professional, blev til Micro Focus Unified Functional Testing og sælges i dag som OpenText Funktionel testning (UFT En)Object Spy og alle tre metoder fungerer stadig præcis som beskrevet nedenfor.

Klik link. hvis videoen ikke er tilgængelig

Objektspion

  • Object Spy er en funktion i QTP hvor du kan se både test- og kørselsobjektets egenskaber og metoder.
  • Det giver også syntaksen for en valgt metode.
  • Object Spy viser det komplette hierarki for det objekt, du har valgt.

Det hierarki er vigtigt, fordi et egenskabsnavn kopieret fra Object Spy er præcis den streng, som de tre metoder nedenfor forventer. At spionere et objekt er derfor det første trin i næsten alle egenskaber, der hentes.

GetROProperty

  • GetROProperty – er en indbygget metode, der bruges til at hente runtime-værdien af ​​en objektegenskab.

Der er 4 trin involveret i at bruge GetROProperty:

  1. Registrer det objekt, som du vil bruge GetROProperty på. Objektopbevaring.
  2. For det optagede objekt identificeres den runtime-egenskab, der kan bruges. Du kan bruge Object Spy.
  3. Brug GetROProperty-metoden til at hente den identificerede Run-time-egenskab og gemme værdien i en variabel.
  4. Brug denne værdi til yderligere fradrag.

Da værdien læses fra live-kontrollen, skal applikationen være åben, og objektet skal faktisk findes på skærmen, når linjen kører.

SetTOProperty & GetTOProperty

  • Overvej en webknap, der er gemt i objektarkivet
  • Når testen køres QTP opretter en kopi af dette objekt kaldet Testobjekt og sammenligner det med Run Time-objektet
  • Ved at bruge GetTOProperty kan du hente værdien af ​​en egenskab i et Testobjekt.
  • Ved at bruge SetTOProperty kan du ændre egenskabsværdien for et testobjekt.
  • Når testen er færdig, kasseres dette testobjekt, og det samme gælder eventuelle ændringer, du har foretaget i objektegenskaberne ved hjælp af SetTOProperty.
  • Når testen køres igen, oprettes en ny kopi af testobjektet med originale egenskabsværdier gemt i objektlageret
  • Du kan overveje at bruge GetTOProperty og SetTOProperty, når dit testscript har flere linjer kode, og dit miljø er sporadisk.
  • For en note er der ingen SetROProperty

Syntaks og eksempler

Alle tre metoder kaldes på et testobjekt i slutningen af ​​dets hierarki, og alle tre tager et beskrivelsesegenskabsnavn som en streng. Tabellen angiver signaturen for hver metode.

Metode Syntaks Læser eller skriver
GetROProperty objekt.GetROProperty(Egenskab) Læser live-kontrollen i applikationen
GetTOProperty objekt.GetTOProperty(Egenskab) Læser den gemte beskrivelse af testobjektet
SetTOProperty object.SetTOProperty Egenskab, Værdi Skriver kun testobjektbeskrivelsen for denne kørsel

Aflæsning af en kørselsværdi er en enkelt sætning. Dette eksempel, taget fra officiel hentnings- og indstillingsreference, henter måladressen for et link under kørselssessionen.

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

At skrive og derefter læse en testobjektegenskab er lige så kort. Parret nedenfor sætter navnet på knappen Send til min knap og læser den samme værdi direkte tilbage.

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")

En typisk verifikation forbinder de to ideer: læs kørselsværdien med GetROProperty, og sammenlign den derefter med, hvad testen forventer.

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

Forskellen mellem GetROProperty og GetTOProperty

De to navne adskiller sig med ét bogstav og er det mest forvirrende par i værktøjet. RO står for run-time object, TO for test object, og hvert navn læser fra et forskelligt sted.

Punkt af sammenligning GetROProperty GetTOProperty
Kilden til værdien Live-kontrollen i den kørende applikation Beskrivelsen gemt for testobjektet
Applikationen skal være åben Ja Ingen
Ser en ændring af SetTOProperty Ingen Ja, for den nuværende løbetur
Typisk brug Verificering af, hvad brugeren rent faktisk ser Kontrol eller fejlfinding af, hvordan objektet identificeres
Matchende setter Ingen — der er ingen SetROProperty SetTOProperty

En bearbejdet kontrast gør opdelingen tydelig. Sæt et html-id på en liste, der ikke har noget, og læs det derefter tilbage begge veje: GetROProperty returnerer en tom streng, fordi applikationen aldrig har ændret sig, mens GetTOProperty returnerer den værdi, der lige blev skrevet ind i beskrivelsen.

Almindelige fejl og hvordan man retter dem

Hentning af egenskaber mislykkes af et lille antal forudsigelige årsager. Tabellen viser de årsager, testere oftest støder på.

Symptom Årsag Fix
Kaldet returnerer en tom streng Egenskabsnavnet er forkert, eller objektet eksponerer det ikke Spioner objektet igen og kopier egenskabsnavnet præcis som angivet
Objektet blev ikke fundet på GetROProperty-linjen Kontrollen var endnu ikke blevet leveret Tilføj et synkroniseringstrin før læsningen
GetROProperty ignorerer en SetTOProperty-ændring De to metoder henvender sig til forskellige objekter per design Læs ændringen tilbage med GetTOProperty i stedet
En ændring af SetTOProperty forsvinder Redigering af testobjekter gælder kun for den aktuelle kørsel Rediger objektet i arkivet, eller brug beskrivende programmering
SetROProperty giver en syntaksfejl Der findes ingen sådan metode Kør applikationen gennem et normalt trin, f.eks. Indstil eller Klik

To vaner forhindrer de fleste af disse: spioner på kontrollen, før du skriver linjen, i stedet for at gætte egenskabsnavnet, og hold vbscript hentningskald tæt på det trin, der skal bruge værdien, så objektet stadig er på skærmen, når aflæsningen finder sted.

Ofte Stillede Spørgsmål

Object Spy viser de identifikationsegenskaber, som værktøjet har for den pågældende klasse, plus de native egenskaber, der eksponeres af browseren. Attribut- og stilværdier nås med attribut- og stilpræfikserne i egenskabsstrengen.

Et runtime-objekt tilhører applikationen, ikke testen, så værktøjet skriver ikke til det. For at ændre, hvad applikationen indeholder, skal du køre kontrollen med et almindeligt trin som f.eks. Angiv, Vælg eller Klik.

Nej. Det midlertidige testobjekt kasseres, når kørslen slutter, og en ny kopi oprettes fra arkivet næste gang. Permanente ændringer hører hjemme i selve objektarkivet.

Ja. Et beskrevet objekt, der er bygget indbygget, accepterer de samme kald, så GetROProperty fungerer med beskrivende programmering også. GetTOProperty returnerer derefter værdien fra den indlejrede beskrivelse i stedet for fra en gemt post.

AI-assisterede lokaliseringsværktøjer rangerer flere kandidategenskaber for den samme kontrol og reparerer en defekt beskrivelse, når én attribut ændres. Det reducerer den manuelle spionageløkke, selvom den foreslåede egenskab stadig kræver en menneskelig kontrol.

Copilot fuldfører hierarkiet og metodekaldet, når den ser et par lignende linjer i filen. Den kan ikke kende dine rigtige objektnavne eller hvilke egenskaber kontrollen viser, så verificer hver genereret streng i Object Spy.

Object Spy er et inspektionsværktøj, der viser værdier, mens du bygger scriptet. Et checkpoint er et trin, der kører i testen og rapporterer bestået eller ikke bestået i forhold til en gemt forventet værdi.

Kun hvis objektet stadig findes i applikationen. Et kontrolelement, der ikke er gengivet, eller et, der er fjernet fra siden, genererer en "objekt ikke fundet"-fejl i stedet for at returnere en tom værdi.

Opsummer dette indlæg med: