Lokalt och delat objektarkiv i QTP/UFT

⚡ Smart sammanfattning

Objektförråd i QTP/UFT En lagrar testobjekten och egenskaperna som verktyget använder för att känna igen din applikation, och den finns i två former: ett lokalt arkiv per åtgärd och ett återanvändbart delat arkiv.

  • 🔘 Testobjektmodell: QTP lär sig objektegenskaper under inspelning och jämför dem med objektet i körtid under uppspelning.
  • ☑️ Lokalt som standard: Varje åtgärd börjar med sitt eget lokala arkiv, sparat som ObjectRepository.bdb i åtgärdsmappen.
  • ✅ Skala för delade arkiv: En .tsr-fil finns utanför testet och kan associeras med många åtgärder i många tester.
  • 🧪 Tre breda steg: Skapa databasen, koppla den till dina åtgärder och redigera den sedan via Object Repository Manager.
  • 🛠️ Skrivskyddad skydd: Ett delat arkiv öppnas skrivskyddat i Hanteraren tills Arkiv > Aktivera redigering är valt.
  • 📌 Nuvarande namngivning: QTP är nu OpenText Funktionell testning (UFT Ett), men arkivets menyer och filformat är oförändrade.

Lokal och delad objektförrådsstruktur i QTP och UFT One

Vad är ett objektförråd i QTP?

Objektförråd är en samling testobjekt och information som känns igen av QTP för att arbeta med det. När en användare registrerar ett test registreras objekten och deras egenskaper som standard.

Eftersom varje steg du automatiserar måste peka mot ett lagrat objekt är repository-skiktet det lager som avgör om ett skript fortsätter att köras efter att applikationen har ändrats. Att förstå hur objekt hamnar där kommer först.

Hur fungerar objektidentifiering i QTP?

  • QTP använder en "mänsklig" teknik för objektidentifiering
  • Under Spela in tid, QTP försöker lära sig egenskaperna hos ett GUI-objekt som en operation utförs på.
  • Under körningstid, UFT Man jämför de lagrade objektegenskaperna med objektets faktiska egenskaper som finns tillgängliga på skärmen och identifierar ett objekt unikt oberoende av dess plats på skärmen.
  • Det lagrade objektet, tillsammans med dess egenskaper, kallas Testobjekt
  • Under körning kallas det faktiska objektet som är tillgängligt i den applikation som testas för Run-Time Object
  • Detta är den Snabbtest "Testobjektmodell"
  • Information om testobjekten lagras i objektförrådet.
  • Tillägg hjälper till genom att i förväg instruera QuickTest om objektets natur som ska spelas in, för att minska den tid som krävs för att lära sig dess egenskaper.

Lär dig objektidentifiering med ett exempel i följande video

Klicka här. om videon inte är tillgänglig

Typer av objektförråd

Det finns två typer av objektförråd i QTP

  1. Lokalt objektförråd
  2. Shared Object Repository

De två skiljer sig bara åt i ett avseende: vem som äger objekten. Det lokala arkivet tillhör en enda åtgärd, medan det delade arkivet är en oberoende fil som vilken åtgärd som helst kan låna.

Lokalt objektförråd

  • Local Object Repository är standardobjektförrådet
  • Den är specifik för åtgärder och kan endast användas för en viss åtgärd
  • Lokalt objektarkiv är att föredra när applikationen inte är dynamisk med avseende på tid
  • Lokalt objektarkiv kan inte återanvändas
  • Du kan utföra många åtgärder i det lokala objektförrådet, till exempel:
    • Markera ett objekt som är lagrat i ett arkiv på applikationen som testas
    • Kontrollera om ett visst objekt i din AUT är lagrat i Object Repository
    • Klipp ut, kopiera, klistra in, ändra och ta bort objekt
    • Om du av misstag har ändrat värdet på en egenskap kan du uppdatera dess beskrivning från applikationen med hjälp av uppdateringsfunktionen.

Videon nedan visar hur man arbetar med det lokala objektförrådet.

Shared Object Repository: Skapa, Associera, Redigera

  • Globalt eller delat objektregister är att föredra när en applikation är dynamisk och objektbeskrivningar ändras ofta.
  • Mellan delat och lokalt objektarkiv används det delade objektarkivet oftare i automatiseringsprojekt
  • Det har dock underhålls- och administrationskostnader jämfört med det lokala objektförrådet.

För att skapa och använda ett delat objektarkiv måste du utföra tre breda steg

  • Skapa ett delat objektförråd
  • Associera ett delat objektförråd
  • Redigera ett delat objektförråd

Låt oss titta på dem en i taget

Steg 1) Skapa ett delat objektförråd

  • Alla arkiv är lokala som standard. För att skapa ett delat objektarkiv, i dialogrutan Objektarkiv Box, Klick Arkiv > Exportera lokala objekt
  • Filer i arkivet har en filändelse .tsrGe ett lämpligt namn, säg ”guru99” och spara
  • Den delade arkivfilen är nu skapad

Steg 2) Associera ett delat objektarkiv

  • Nästa steg är att koppla arkivet till ditt test, vilket gör att du kan använda det.
  • För att koppla ett arkiv till ett test, klicka på Resurser > Associerat arkiv (märkt Associerade arkiv i nuvarande UFT En version)
  • Du kan välja arkivet som ska associeras med tillgängliga åtgärder i ditt test.
  • Du kan nu använda detta delade arkiv för att utveckla ditt test

Steg 3) Redigera ett delat objektförråd

  • Du kan använda Object Repository Manager för att redigera ett delat arkiv.
  • Välja Resurser > ObjektförrådshanterareÖppna objektförrådet som vi skapade, ”guru99”.
  • Som standard öppnas arkivet i skrivskyddat läge. För att aktivera redigering, klicka på Arkiv > Aktivera redigering
  • När redigering är aktiverad kan du utföra alla operationer som att klippa ut, kopiera, klistra in och byta namn på objekt, vilket du också kan göra i objektarkivet.
  • Med hjälp av Object Repository Manager kan du också jämföra två objektarkiv. QTP rapporterar statistik om vad som är unikt och vad som är gemensamt i båda arkiven
  • Du kan använda verktyget Object Repository Merge för att sammanfoga två arkiv till ett.

Följande video visar hur arbetsflödet för delade databaser fungerar.

Skillnaden mellan lokalt och delat objektarkiv

De flesta team kör så småningom båda typerna sida vid sida, så det hjälper att se avvägningarna på ett ställe innan man bestämmer var ett nytt objekt hör hemma.

Kriterier Lokalt objektförråd Shared Object Repository
Tillgänglighet Skapas automatiskt med varje åtgärd Måste skapas och sedan associeras med en åtgärd
Omfattning Ett arkiv per åtgärd; endast användbart av den åtgärden En fil som kan användas av många åtgärder i många tester
filformat Sparad som Objektförråd.bdb inuti handlingsmappen Sparad som extern .tsr fil
Redigera Redigerbar direkt i objektförrådsfönstret Skrivskyddad som standard; redigeras via Object Repository Manager
Återanvändning Kan inte återanvändas Utformad för återanvändning och versionshantering
Underhåll En ändrad egenskap måste korrigeras i varje åtgärd En ändrad egenskap korrigeras en gång, för varje tillhörande test
Passar bäst till Små, stabila applikationer och inlärningstester med en enda åtgärd Stora eller dynamiska applikationer med flera automationsingenjörer

Kort sagt, det lokala arkivet är snabbare att börja med och det delade arkivet är billigare att underhålla. Inlärningstester och engångskontroller kan förbli lokala; allt som en andra person kör hör hemma i en .tsr fil.

Så här lägger du till objekt direkt i ett delat objektarkiv

Att exportera lokala objekt är bara en väg till en .tsr fil. När du redan vet vilka kontroller sviten behöver är det snabbare att bygga det delade arkivet först och aldrig spela in alls.

  1. Välja Resurser > Objektförrådshanterare för att öppna fönstret Hanterare.
  2. Välja Arkiv> Nytt för att starta ett tomt delat arkiv, eller öppna ett befintligt .tsr fil och välj Arkiv > Aktivera redigering.
  3. Använd Lägg till objekt alternativet att peka på den kontroll du vill lära dig i den applikation som testas och bekräfta sedan valet.
  4. Upprepa för varje kontroll som sviten berör, och byt namn på objekt till något läsbart allt eftersom.
  5. Välja Arkiv> Spara och lagra filen i din källkontrollmapp tillsammans med testet.
  6. Tillbaka i testet, välj Resurser > Associerat arkiv och bifoga filen till varje åtgärd som behöver den.

Två vanor gör att denna metod lönar sig. Namnge objekt efter deras affärsroll snarare än deras bildtext, eftersom bildtexter ändras oftare än roller. Behåll också ett arkiv per applikationsskärm eller modul istället för en gigantisk fil, eftersom mindre arkiv laddas snabbare och producerar betydligt färre sammanslagningskonflikter.

Vanliga frågor

Ett lokalt objektarkiv lagras som ObjectRepository.bdb i sin åtgärdsmapp. Ett delat objektarkiv lagras som en fristående .tsr-fil som ligger utanför testet och kan kontrolleras i källkodskontrollen.

Ja. Öppna fönstret Objektarkiv för åtgärden och välj Arkiv och sedan Exportera lokala objekt. QTP skriver åtgärdens objekt till en .tsr-fil, som du sedan associerar med alla åtgärder som behöver dem.

Ja. Dialogrutan Associera arkiv accepterar flera .tsr-filer per åtgärd och låter dig ange deras prioritetsordning. När samma objektnamn visas två gånger vinner arkivet som är högre upp i listan.

Objektarkivshanteraren öppnar delade filer skrivskyddade så att två ingenjörer inte kan skriva över varandra. Välj Arkiv och sedan Aktivera redigering för att ta skrivlåset och stäng filen när du är klar så att kollegor kan redigera den.

AI-assisterad identifiering i UFT Man matchar kontroller efter visuellt utseende och etiketttext snarare än fasta egenskaper, så en omdöpt klass bryter inte längre steget. Självläkande förslag flaggar också inaktuella arkivbeskrivningar efter en ändring av användargränssnittet.

Copilot kan utarbeta den omgivande VBScript-logiken, looparna och rapporteringen, men den kan inte se ditt repository. Objektnamn måste fortfarande komma från själva repositoryt, så behandla genererade hierarkier som platshållare och verifiera var och en med Objektspion.

Nej, det kompletterar det. Descriptive programmering bygger en objektbeskrivning i kod vid körning, vilket passar dynamiska kontroller, medan repository förblir det bättre valet för stabila skärmar och läsbara skript.

Öppna båda filerna i Object Repository Manager och kör Object Repository Merge Tool. Det rapporterar vilka objekt som är gemensamma och vilka som är unika, och låter dig sedan lösa varje konflikt innan du skriver den sammanfogade .tsr-filen.

Sammanfatta detta inlägg med: