GetRoProperty, GetToProperty i QTP/UFT med exempel

โšก Smart sammanfattning

Object Spy avslรถjar egenskaperna och metoderna fรถr alla kontroller i den applikation som testas, medan GetROProperty, GetTOProperty och SetTOProperty lรคser och skriver dessa egenskapsvรคrden frรฅn en QTP or UFT Ett skript vid kรถrning.

  • ๐Ÿ”Ž Objektspion fรถrst: Peka den mot en kontroll fรถr att se testobjektets egenskaper, kรถrtidsegenskaperna, metoderna och hela hierarkin.
  • โ˜‘๏ธ Tvรฅ objektvรคrldar: Testobjektet รคr den lagrade beskrivningen; kรถrtidsobjektet รคr live-kontrollen i applikationen.
  • โœ… GetROProperty: Lรคser det aktuella vรคrdet frรฅn live-kontrollen, sรฅ applikationen mรฅste vara รถppen och objektet mรฅste existera.
  • ๐Ÿงช GetTOProperty: Lรคser istรคllet den lagrade beskrivningen, vilket รคr anledningen till att de tvรฅ metoderna kan returnera olika vรคrden.
  • ๐Ÿ› ๏ธ AngeTILLEgenskap: ร„ndrar endast beskrivningen fรถr den hรคr kรถrningen; arkivet berรถrs aldrig och รคndringen ignoreras i slutet.
  • ๐Ÿ“Œ Ingen SetRO-egenskap: Ett skript kan lรคsa applikationen men kan inte skriva tillbaka en egenskap till den.

Object Spy och metoderna GetROProperty, GetTOProperty och SetTOProperty i QTP och UFT One

Denna handledning visar Objektspion.

Objektspion kan hjรคlpa till att faststรคlla anvรคndbara egenskaper och metoder som รคr associerade med ett objekt i din miljรถ.

HP/Micro Focus UFT sjรคlvstudiekurser beskriver ocksรฅ GetROProperty, GetTOProperty och SetTOProperty.

โš ๏ธ Versionsnotering: Verktyget som beskrivs hรคr levererades som HP QuickTest Professional, blev Micro Focus Unified Functional Testing och sรคljs idag som OpenText Funktionell testning (UFT En)Object Spy och alla tre metoderna fungerar fortfarande exakt som beskrivs nedan.

Klicka hรคr. om videon inte รคr tillgรคnglig

Objektspion

  • Object Spy รคr en funktion i QTP med vilken du kan visa bรฅde test- och kรถrtidsobjektets egenskaper och metoder.
  • Det ger ocksรฅ syntaxen fรถr en vald metod.
  • Object Spy visar den fullstรคndiga hierarkin fรถr det objekt du har valt.

Den hierarkin รคr viktig, eftersom ett egenskapsnamn som kopieras frรฅn Object Spy รคr exakt den strรคng som de tre metoderna nedan fรถrvรคntar sig. Att spionera ett objekt รคr dรคrfรถr det fรถrsta steget i nรคstan varje egenskapshรคmtningsuppgift.

GetROProperty

  • GetROProperty โ€“ รคr en inbyggd metod som anvรคnds fรถr att hรคmta runtime-vรคrdet fรถr en objektegenskap.

Det finns fyra steg involverade i att anvรคnda GetROProperty:

  1. Registrera objektet som du vill anvรคnda GetROProperty pรฅ. Objektfรถrrรฅd.
  2. Fรถr det inspelade objektet identifieras den kรถrtidsegenskap som kan anvรคndas. Du kan anvรคnda Object Spy.
  3. Anvรคnd GetROProperty-metoden fรถr att hรคmta den identifierade Run-time-egenskapen och lagra vรคrdet i en variabel.
  4. Anvรคnd detta vรคrde fรถr ytterligare avdrag.

Eftersom vรคrdet lรคses frรฅn live-kontrollen mรฅste applikationen vara รถppen och objektet mรฅste faktiskt finnas pรฅ skรคrmen nรคr linjen kรถrs.

SetTOProperty och GetTOProperty

  • Betrakta en webbknapp som lagras i objektfรถrrรฅdet
  • Nรคr testet kรถrs QTP skapar en kopia av detta objekt som heter Testobjekt och jรคmfรถr det med Run Time-objektet
  • Med hjรคlp av GetTOProperty kan du hรคmta vรคrdet fรถr en egenskap hos ett testobjekt.
  • Med hjรคlp av SetTOProperty kan du รคndra egenskapsvรคrdet fรถr ett testobjekt.
  • Nรคr testet รคr klart kasseras detta testobjekt och detsamma gรคller alla รคndringar du gjort i objektegenskaperna med hjรคlp av SetTOProperty.
  • Nรคr testet kรถrs om skapas en ny kopia av testobjektet med ursprungliga egenskapsvรคrden lagrade i objektfรถrrรฅdet
  • Du kan รถvervรคga att anvรคnda GetTOProperty och SetTOProperty nรคr ditt testskript har flera rader kod och din miljรถ รคr sporadisk.
  • Fรถr en anteckning finns det ingen SetROProperty

Syntax och exempel

Alla tre metoder anropas pรฅ ett testobjekt i slutet av dess hierarki, och alla tre tar ett beskrivningsegenskapsnamn som en strรคng. Tabellen anger signaturen fรถr varje.

Metod syntax Lรคser eller skriver
GetROProperty objekt.GetROProperty(Egenskap) Lรคser live-kontrollen i applikationen
GetTOProperty object.GetTOProperty(Egenskap) Lรคser den lagrade beskrivningen av testobjektet
AngeTILLEgenskap object.SetTOProperty Egenskap, Vรคrde Skriver endast testobjektbeskrivningen fรถr denna kรถrning

Att lรคsa ett kรถrtidsvรคrde รคr en enda sats. Detta exempel, hรคmtat frรฅn officiell referens fรถr att hรคmta och stรคlla in vรคrden, hรคmtar mรฅladressen fรถr en lรคnk under kรถrningssessionen.

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

Att skriva och sedan lรคsa en testobjektegenskap รคr lika kort. Paret nedan stรคller in knappens namn fรถr Skicka till min knapp och lรคser samma vรคrde direkt tillbaka.

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 verifiering sammanfรถr de tvรฅ idรฉerna: lรคs kรถrtidsvรคrdet med GetROProperty och jรคmfรถr det sedan med vad testet fรถrvรคntar sig.

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

Skillnaden mellan GetROProperty och GetTOProperty

De tvรฅ namnen skiljer sig รฅt med en bokstav och รคr det mest fรถrvirrande paret i verktyget. RO stรฅr fรถr runtime-objekt, TO fรถr testobjekt, och varje namn lรคses frรฅn olika platser.

Punkt av jรคmfรถrelse GetROProperty GetTOProperty
Kรคlla till vรคrdet Live-kontrollen i den kรถrande applikationen Beskrivningen som lagras fรถr testobjektet
Applikationen mรฅste vara รถppen Ja Nej
Ser en SetTOProperty-รคndring Nej Ja, fรถr den aktuella kรถrningen
Typisk anvรคndning Verifiera vad anvรคndaren faktiskt ser Kontrollera eller felsรถka hur objektet identifieras
Matchande setter Ingen โ€” det finns ingen SetROProperty AngeTILLEgenskap

En fungerande kontrast gรถr uppdelningen uppenbar. Sรคtt ett html-id pรฅ en lista som inte har nรฅgot, och lรคs sedan tillbaka det รฅt bรฅda hรฅllen: GetROProperty returnerar en tom strรคng eftersom applikationen aldrig รคndrades, medan GetTOProperty returnerar vรคrdet som just skrevs in i beskrivningen.

Vanliga fel och hur man รฅtgรคrdar dem

Hรคmtning av egenskaper misslyckas av ett litet antal fรถrutsรคgbara orsaker. Tabellen listar de som testare stรถter pรฅ oftast.

Symptom Orsak Fast
Anropet returnerar en tom strรคng Egenskapsnamnet รคr felaktigt, eller sรฅ exponerar objektet det inte Spionera objektet igen och kopiera egenskapsnamnet exakt som det anges
Objektet hittades inte pรฅ GetROProperty-raden Kontrollen hade รคnnu inte รฅtergivits Lรคgg till ett synkroniseringssteg fรถre lรคsningen
GetROProperty ignorerar en SetTOProperty-รคndring De tvรฅ metoderna adresserar olika objekt per design Lรคs รคndringen tillbaka med GetTOProperty istรคllet
En SetTOProperty-รคndring fรถrsvinner Redigeringar av testobjekt gรคller endast fรถr den aktuella kรถrningen Redigera objektet i arkivet, eller anvรคnd beskrivande programmering
SetROProperty genererar ett syntaxfel Ingen sรฅdan metod finns Kรถr applikationen genom ett normalt steg, till exempel Ange eller Klicka

Tvรฅ vanor fรถrhindrar de flesta av dessa: spionera pรฅ kontrollen innan du skriver raden istรคllet fรถr att gissa egenskapsnamnet, och behรฅll VBScript hรคmtningsanrop nรคra steget som behรถver vรคrdet, sรฅ att objektet fortfarande finns pรฅ skรคrmen nรคr lรคsningen sker.

Vanliga frรฅgor

Object Spy listar de identifieringsegenskaper som verktyget har fรถr den klassen, plus de nativa egenskaper som exponeras av webblรคsaren. Attribut- och stilvรคrden nรฅs med attribut- och stilprefixen inuti egenskapsstrรคngen.

Ett runtime-objekt tillhรถr applikationen, inte testet, sรฅ verktyget kommer inte att skriva i det. Fรถr att รคndra vad applikationen innehรฅller, kรถr kontrollen med ett vanligt steg som Ange, Vรคlj eller Klicka.

Nej. Det tillfรคlliga testobjektet kasseras nรคr kรถrningen avslutas, och en ny kopia skapas frรฅn arkivet nรคsta gรฅng. Permanenta รคndringar hรถr hemma i sjรคlva objektarkivet.

Ja. Ett beskrivet objekt som รคr inbyggt i linjen accepterar samma anrop, sรฅ GetROProperty fungerar med beskrivande programmering ocksรฅ. GetTOProperty returnerar sedan vรคrdet frรฅn den inbรคddade beskrivningen snarare รคn frรฅn en lagrad post.

AI-assisterade lokaliseringsverktyg rangordnar flera kandidategenskaper fรถr samma kontroll och reparerar en trasig beskrivning nรคr ett attribut รคndras. Det minskar den manuella spioneringsslingan, รคven om den fรถreslagna egenskapen fortfarande behรถver en mรคnsklig kontroll.

Copilot slutfรถr hierarkin och metodanropet nรคr den ser nรฅgra liknande rader i filen. Den kan inte kรคnna till dina riktiga objektnamn eller vilka egenskaper kontrollen exponerar, sรฅ verifiera varje genererad strรคng i Object Spy.

Object Spy รคr ett inspektionsverktyg som visar vรคrden medan du bygger skriptet. En kontrollpunkt รคr ett steg som kรถrs inuti testet och rapporterar godkรคnt eller misslyckat mot ett lagrat fรถrvรคntat vรคrde.

Endast om objektet fortfarande finns i applikationen. En kontroll som inte har renderats, eller en som har tagits bort frรฅn sidan, genererar ett felmeddelande om att objektet inte hittades snarare รคn att returnera ett tomt vรคrde.

Sammanfatta detta inlรคgg med: