Lokale en gedeelde objectopslagplaats in QTP/UFT

⚡ Slimme samenvatting

Objectopslag in QTP/UFT Eén daarvan slaat de testobjecten en -eigenschappen op die de tool gebruikt om uw applicatie te herkennen, en deze is er in twee vormen: een lokale repository per actie en een herbruikbare gedeelde repository.

  • 🔘 Testobjectmodel: QTP Leert objecteigenschappen tijdens het opnemen en vergelijkt deze tijdens het afspelen met het object zoals het tijdens de uitvoering is.
  • ☑️ Lokaal standaard: Elke actie begint met een eigen lokale repository, opgeslagen als ObjectRepository.bdb in de actiemap.
  • ✅ Schaalbaarheid van gedeelde repositories: Een .tsr-bestand bevindt zich buiten de test en kan aan veel acties in meerdere tests worden gekoppeld.
  • 🧪 Drie belangrijke stappen: Maak de repository aan, koppel deze aan uw acties en bewerk deze vervolgens via de Object Repository Manager.
  • ️ Alleen-lezen beveiliging: Een gedeelde opslagplaats wordt in de Manager alleen-lezen geopend totdat Bestand > Bewerken inschakelen is geselecteerd.
  • 📌 Huidige naamgeving: QTP nu OpenText Functionele testen (UFT Eén), maar de menu's en bestandsindelingen van de repository blijven ongewijzigd.

Lokale en gedeelde objectopslagstructuur in QTP en UFT One

Wat is een objectrepository in QTP?

Object-opslagplaats is een verzameling testobjecten en informatie die wordt herkend door QTP om eraan te werken. Wanneer een gebruiker een test opneemt, worden de objecten en hun eigenschappen standaard vastgelegd.

Omdat elke geautomatiseerde stap moet verwijzen naar een opgeslagen object, is de repository de laag die bepaalt of een script blijft draaien nadat de applicatie is gewijzigd. Het is daarom van essentieel belang om eerst te begrijpen hoe objecten daar terechtkomen.

Hoe werkt objectidentificatie in QTP?

  • QTP maakt gebruik van een "mensachtige" technologie voor object identificatie
  • Tijdens de Drooglegging in de jaren twintig van de twintigste eeuw boden verborgen deuren toegang tot geheime kroegen en ondergrondse clubs. Record tijd, QTP probeert de eigenschappen te leren kennen van een GUI-object waarop een bewerking wordt uitgevoerd.
  • Tijdens de uitvoering, UFT Men vergelijkt de opgeslagen objecteigenschappen met de werkelijke eigenschappen van het object dat op het scherm wordt weergegeven en identificeert een object uniek, onafhankelijk van de locatie ervan op het scherm.
  • Het opgeslagen object, samen met zijn eigenschappen, wordt de genoemd. Testobject
  • Tijdens de uitvoering wordt het daadwerkelijke object dat beschikbaar is in de te testen applicatie de naam van het object gegeven. Runtime-object
  • Dit is de Snelle test “Testobjectmodel”
  • Informatie over de testobjecten wordt opgeslagen in de objectrepository.
  • Add-ins helpen door QuickTest vooraf te instrueren over de aard van het object dat moet worden opgenomen, zodat de tijd die nodig is om de eigenschappen ervan te leren, wordt verkort.

Leer objectidentificatie met een voorbeeld in de volgende video

Klik hier als de video niet toegankelijk is

Soorten objectopslagplaatsen

Er zijn 2 typen objectopslagplaatsen in QTP

  1. Lokale objectopslagplaats
  2. Opslagplaats voor gedeelde objecten

De twee verschillen slechts in één opzicht: wie de objecten bezit. De lokale repository behoort tot één enkele actie, terwijl de gedeelde repository een onafhankelijk bestand is dat door elke actie kan worden gebruikt.

Lokale objectopslagplaats

  • Lokale objectrepository is de standaardobjectrepository
  • Het is specifiek voor acties en kan alleen voor een bepaalde actie worden gebruikt
  • Een lokale objectrepository heeft de voorkeur wanneer de applicatie niet dynamisch is ten opzichte van de tijd.
  • De lokale objectopslagplaats kan niet opnieuw worden gebruikt.
  • In de lokale objectopslagplaats kunt u veel bewerkingen uitvoeren, zoals:
    • Markeer een object dat is opgeslagen in een repository van de te testen applicatie
    • Controleer of een bepaald object in uw AUT is opgeslagen in de Object Repository
    • Objecten knippen, kopiëren, plakken, wijzigen en verwijderen
    • Mocht u per ongeluk de waarde van een eigenschap hebben gewijzigd, dan kunt u de beschrijving ervan bijwerken vanuit de applicatie met behulp van de updatefunctie.

De onderstaande video laat zien hoe je met de lokale objectopslagplaats werkt.

Gedeelde objectopslagplaats: creëren, koppelen, bewerken

  • Een globale of gedeelde objectrepository heeft de voorkeur wanneer een applicatie dynamisch is en objectbeschrijvingen regelmatig veranderen.
  • Tussen een gedeelde en een lokale objectrepository wordt de gedeelde objectrepository vaker gebruikt in automatiseringsprojecten.
  • Het brengt echter wel onderhouds- en beheerkosten met zich mee in vergelijking met een lokale objectopslagplaats.

Om een ​​gedeelde objectrepository te maken en te gebruiken, moet u drie grote stappen uitvoeren

  • Een gedeelde objectopslagplaats creëren
  • Een gedeelde objectopslagplaats koppelen
  • Een gedeelde objectopslagplaats bewerken

Laten we ze een voor een bekijken

Stap 1) Een gedeelde objectopslagplaats maken

  • Alle repositories zijn standaard lokaal. Om een ​​gedeelde objectrepository te maken, opent u het dialoogvenster Objectrepository. Box, Klik Bestand > Lokale objecten exporteren
  • Repositorybestanden hebben een extensie. .tsrGeef een geschikte naam, bijvoorbeeld "guru99", en sla het op.
  • Het gedeelde opslagbestand is nu gemaakt

Stap 2) Een gedeelde objectopslagplaats koppelen

  • De volgende stap is het koppelen van de repository aan je test, zodat je deze kunt gebruiken.
  • Om een ​​repository aan een test te koppelen, klikt u hier. Bronnen > Geassocieerde repository (gelabeld) Geassocieerde repositories in de huidige UFT Eén versie)
  • U kunt de opslagplaats selecteren die u wilt koppelen aan acties die beschikbaar zijn in uw test.
  • Je kunt deze gedeelde repository nu gebruiken om je test te ontwikkelen.

Stap 3) Een gedeelde objectopslagplaats bewerken

  • U kunt de Object Repository Manager gebruiken om een ​​gedeelde repository te bewerken.
  • Selecteren Bronnen > ObjectrepositorymanagerOpen de objectrepository die we hebben aangemaakt, "guru99".
  • Standaard is de repository geopend in de alleen-lezenmodus. Om bewerken mogelijk te maken, klikt u op Bestand > Bewerken inschakelen
  • Zodra bewerken is ingeschakeld, kunt u alle bewerkingen uitvoeren zoals knippen, kopiëren, plakken en objecten hernoemen, dezelfde bewerkingen die u ook in de objectrepository kunt uitvoeren.
  • Met de Object Repository Manager kunt u ook twee objectrepositories vergelijken. QTP Het rapport geeft statistieken weer over wat uniek en wat gemeenschappelijk is in beide repositories.
  • U kunt de Object Repository Merge Tool gebruiken om twee repositories samen te voegen tot één.

De volgende video laat de workflow voor gedeelde repositories zien.

Verschil tussen een lokale en een gedeelde objectopslagplaats

De meeste teams gebruiken uiteindelijk beide soorten naast elkaar, dus het is handig om de voor- en nadelen op één plek te zien voordat je besluit waar een nieuw object thuishoort.

criteria Lokale objectopslagplaats Opslagplaats voor gedeelde objecten
Beschikbaarheid Automatisch gegenereerd bij elke actie. Moet eerst worden aangemaakt en vervolgens aan een actie worden gekoppeld.
strekking Eén opslagplaats per actie; alleen bruikbaar door die actie. Eén bestand dat door veel acties in veel tests gebruikt kan worden.
bestandsformaat Opgeslagen als ObjectRepository.bdb in de actiemap Opgeslagen als extern bestand .tsr filet
Editing Direct bewerkbaar in het venster Objectrepository Standaard alleen-lezen; bewerken kan via de Object Repository Manager.
visfuik Kan niet worden hergebruikt Ontworpen voor hergebruik en versiebeheer.
Onderhoud Een gewijzigde eigenschap moet bij elke actie worden gecorrigeerd. Een gewijzigde eigenschap wordt eenmaal gecorrigeerd voor elke bijbehorende test.
Het meest geschikt voor: Kleine, stabiele applicaties en tests voor het leren van één enkele actie. Grote of dynamische applicaties met meerdere automatiseringsingenieurs

Kortom, een lokale repository is sneller om mee te beginnen en een gedeelde repository is goedkoper in onderhoud. Tests en eenmalige controles kunnen lokaal blijven; alles wat door een tweede persoon wordt uitgevoerd, hoort in een gedeelde repository. .tsr bestand.

Hoe voeg je objecten rechtstreeks toe aan een gedeelde objectrepository?

Het exporteren van lokale objecten is slechts één manier om een .tsr bestand. Als je al weet welke besturingselementen de suite nodig heeft, is het sneller om eerst de gedeelde repository te bouwen en helemaal geen opnames meer te maken.

  1. Selecteren Bronnen > Objectrepositorymanager om het beheerdersvenster te openen.
  2. Kies Bestand> Nieuw om een ​​lege gedeelde repository te starten of een bestaande te openen .tsr bestand en selecteer Bestand > Bewerken inschakelen.
  3. Gebruik de Objecten toevoegen U kunt de gewenste besturingselementen in de te testen applicatie selecteren en vervolgens uw selectie bevestigen.
  4. Herhaal dit voor elk besturingselement dat de suite aanraakt en hernoem de objecten gaandeweg naar iets leesbaars.
  5. Selecteren Bestand> Opslaan en sla het bestand op in je versiebeheermap, naast de test.
  6. Ga terug naar de test en selecteer Bronnen > Geassocieerde repository en voeg het bestand toe aan elke actie die het nodig heeft.

Twee gewoontes zorgen ervoor dat deze aanpak vruchten afwerpt. Geef objecten namen op basis van hun bedrijfsfunctie in plaats van hun beschrijving, omdat beschrijvingen vaker veranderen dan functies. Houd bovendien één repository per applicatiescherm of module aan in plaats van één groot bestand, aangezien kleinere repositories sneller laden en veel minder samenvoegingsconflicten veroorzaken.

Veelgestelde vragen

Een lokale objectrepository wordt opgeslagen als ObjectRepository.bdb in de bijbehorende actiemap. Een gedeelde objectrepository wordt opgeslagen als een zelfstandig .tsr-bestand dat buiten de testomgeving staat en kan worden opgenomen in versiebeheer.

Ja. Open het venster Objectrepository voor de actie en kies Bestand, vervolgens Lokale objecten exporteren. QTP Schrijft de objecten van de actie naar een .tsr-bestand, dat je vervolgens koppelt aan elke actie die ze nodig heeft.

Ja. Het dialoogvenster 'Repository koppelen' accepteert meerdere .tsr-bestanden per actie en laat u de prioriteitsvolgorde instellen. Wanneer dezelfde objectnaam twee keer voorkomt, krijgt de repository die hoger in de lijst staat voorrang.

De Object Repository Manager opent gedeelde bestanden alleen-lezen, zodat twee engineers elkaars werk niet kunnen overschrijven. Kies Bestand en vervolgens Bewerken inschakelen om de schrijfvergrendeling te verkrijgen en sluit het bestand wanneer u klaar bent, zodat collega's het kunnen bewerken.

AI-ondersteunde identificatie in UFT Er worden besturingselementen gekoppeld op basis van hun uiterlijk en labeltekst in plaats van vaste eigenschappen, waardoor een hernoemde klasse de stap niet langer verstoort. Zelfherstellende suggesties signaleren bovendien verouderde repositorybeschrijvingen na een UI-wijziging.

Copilot kan de omliggende VBScript-logica, lussen en rapportages genereren, maar heeft geen toegang tot uw repository. Objectnamen moeten nog steeds uit de repository zelf komen, dus beschouw gegenereerde hiërarchieën als plaatsaanduidingen en controleer elke hiërarchische structuur met behulp van de `repository`-functie. Objectspion.

Nee, het vult het juist aan. Descriptive programmering Het genereert een objectbeschrijving in de code tijdens de uitvoering, wat geschikt is voor dynamische besturingselementen, terwijl de repository de betere keuze blijft voor stabiele schermen en leesbare scripts.

Open beide bestanden in de Object Repository Manager en voer de Object Repository Merge Tool uit. Deze tool geeft aan welke objecten gemeenschappelijk zijn en welke uniek, waarna u elk conflict kunt oplossen voordat het samengevoegde .tsr-bestand wordt geschreven.

Vat dit bericht samen met: