UFT-zelfstudie: Object Repository - Beste gids voor UFT 14.x

Testen is nu een belangrijke fase in de levenscyclus van softwareontwikkeling om de kwaliteit van het product te waarborgen. Zonder tests kunnen we ook niet garanderen dat aan alle vereisten wordt voldaan. Hier speelt automatisering een essentiële rol in de testcyclus om de inspanningen en tijd te verminderen. Op de markt zijn er meerdere testtools beschikbaar om het testproces te automatiseren. De meest gebruikte testtool voor automatisering is UFT. 

In dit onderwerp gaan we leren over de UFT Object Repository, de beschrijvende programmeerbenadering en het concept van virtueel object in UFT, de belangrijkste kenmerken van UFT.

UFT-zelfstudie - inhoudsopgave

UFT-zelfstudie # 1: UFT-overzicht

UFT-zelfstudie # 2: UFT-installatie - downloaden, installeren, licentieconfiguratie en ALM-verbinding

UFT-zelfstudie # 3: Opslagplaats voor UFT-objecten

UFT-zelfstudie # 4: UFT-acties en functiebibliotheek 

UFT-zelfstudie # 5: UFT-parametrering 

UFT-zelfstudie # 6: VB-scripting in UFT

UFT-zelfstudie # 7: Stapsgewijze handleiding om een ​​testcase in UFT te maken

UFT-zelfstudie # 8: Afhandeling van uitzonderingen in UFT

UFT-zelfstudie # 9: Opnemen in UFT met Checkpoints & Dictionary-object 

UFT-zelfstudie # 10: UFT interviewvragen en antwoorden 

 UFT-zelfstudie #3: Opslagplaats voor UFT-objecten

UFT-objectrepository:

Een objectrepository is het primaire onderdeel van UFT als een automatiseringstesttool. Het is de verzameling testobjecten die worden gebruikt om de applicaties met de UFT-testscripts in kaart te brengen. In principe worden een of meerdere eigenschappen die op unieke wijze elk testobject van de toepassing vertegenwoordigen, opgeslagen in Object Repository. Bijvoorbeeld naam, id, binnentekst, dit zijn de algemene eigenschappen die worden gebruikt om een ​​object te vertegenwoordigen. Het volgt de onderstaande eigenschappen om de veldobjecten te identificeren:

Verplichte eigenschap -> Hulpeigenschap -> Ordinale identificatie -> Slimme identificatie

Classificatie van objectopslagplaats: 

Er zijn twee soorten objectrepository's beschikbaar in UFT -

  • Lokale objectopslagplaats
  • Opslagplaats voor gedeelde objecten
UFT Object Repository - Lokaal
Lokale opslagplaats

Opslagplaats voor gedeelde objecten - Een objectrepository die zich buiten de testcase bevindt, staat bekend als een gedeelde objectrepository. Het kan worden gedeeld door meerdere acties of testscripts. We kunnen het bouwen met behulp van de objectrepository-manager. Het wordt gebruikt voor herbruikbare doeleinden. We kunnen het op elke locatie opslaan als een .tsr-bestand. Dit type objectrepositories wordt meestal gebruikt voor herbruikbaarheidsdoeleinden in sleutelwoorden of hybride testframeworks.

UFT Object Repository - Gedeeld
Gedeelde repository

Richtlijn voor Object Repository: 

  • De logische naam van de objecten in de repository moet worden opgegeven op basis van de toepassingsfunctionaliteit.
  • Slimme identificatie moet worden uitgeschakeld om de prestaties te verbeteren.
  • De grootte van de objectrepository mag niet groot zijn; beschrijvende programmering kan gedeeltelijk worden gebruikt om de omvang te verkleinen.
  • Verwerk dynamische objecten door middel van reguliere expressies of beschrijvend programmeren.
  • Gebruik een opslagplaats voor gedeelde objecten in plaats van een lokale.
  • Gebruik niet meerdere vermeldingen voor hetzelfde object in Repository.

Verschillende opties in Object Repository:

Objectzoeker – Dit is een van de belangrijkste en meest nuttige functies van UFT om het testobject te analyseren. Met deze optie kunnen we de verschillende eigenschappen van testobjecten bekijken / analyseren voordat we ze aan Object Repository toevoegen. Het zal ons helpen om de benaderingen voor objectidentificatie voor testautomatisering te definiëren. Zonder Object Finder is het erg moeilijk om de beschrijvende programmeerbenadering te definiëren.

UFT Object Repository - Objectspion
Objectzoeker

Object toevoegen - Het wordt gebruikt om een ​​toepassingsobject aan de repository toe te voegen.

Update vanuit de applicatie - Met deze optie kunnen we alle objecten die al aan de repository zijn toegevoegd, rechtstreeks vanuit de applicatie bijwerken.

Markeer - Object kan worden gemarkeerd in de applicatie.

Zoek in Repository - We kunnen het daadwerkelijke object dat beschikbaar is in de repository vanuit de applicatie lokaliseren.

Objecteigenschappen sectie - Beschrijvende eigenschappen, ordinale identificatie en slimme identificatieconfiguratie kunnen vanuit deze sectie worden bekeken / bewerkt.

UFT-objecthiërarchie: De UFT-test objecthiërarchie omvat een of meerdere testniveaus objecten. Het hoogste niveau van het object kan een venster, dialoogvenster of browsertype vertegenwoordigen object, afhankelijk van de omgeving. Voor alle webtoepassingen zijn drie niveaus van objecthiërarchieën beschikbaar: browser, pagina en afzonderlijk testobject. De identificatie is dus opeenvolgend gemaakt van boven naar beneden.

Browser ("Testbrowser"). Pagina ("Testpagina"). Link ("testlink"). Klik

Object identificatiemechanisme:

Objecten uit de repository kunnen worden geïdentificeerd op basis van de eigenschappen of het gedrag zoals weergegeven in de applicatie. Er zijn drie verschillende soorten eigenschapsopties die beschikbaar zijn om elk object uniek te lokaliseren. Die zijn -

Beschrijvende eigenschappen - Op basis van de applicatieontwikkeling worden gedrag of eigenschappen gedefinieerd in de applicatie. Het bestaat uit twee delen: verplichte eigenschappen en ondersteunende eigenschappen. Op basis van het unieke karakter van de eigenschappen, kan UFT de objecten identificeren. Ten eerste moet de tool proberen om de verplichte eigenschappen zoals naam, id, tekst, enz. Te identificeren die tijdens de ontwikkeling van de applicatie worden gedefinieerd en die worden gebruikt om het object te identificeren. Als er geen unieke combinatie beschikbaar is, probeert UFT de toepassing te identificeren met behulp van enkele aanvullende eigenschappen, die worden aangeduid als ondersteunende eigenschappen. 

Ordinale identificatie - Wanneer de beschrijvende eigenschappen niet voldoende zijn om een ​​object uniek te identificeren, probeert UFT enkele aanvullende eigenschappen te definiëren op basis van het uiterlijk van de objecten in de applicatie om te identificeren. Deze eigenschappen worden een ordinale identificatie genoemd. Er zijn drie soorten rangtelwoorden beschikbaar -

Index - het is gedefinieerd op basis van de positie van het object in de applicatie. Indexwaarde begint altijd bij 0.

Locatie - het is gedefinieerd op basis van de locatie van het object in de applicatie. De locatiewaarde begint altijd bij 0.

CreatieTijd - het is gedefinieerd op basis van de aanmaak tijd van het object in de applicatie. De waarde van CreationTime begint altijd bij 0.

Slimme identificatie - Wanneer Beschrijvende eigenschappen en Ordinale ID's geen enkel object kunnen identificeren, worden enkele aanvullende configuratie / eigenschappen gebruikt, die vooraf zijn gedefinieerd om de objecten in dit geval te identificeren. Slimme identificatie is de laatste optie om de objecten te identificeren. Het is alleen van toepassing als we de waarde instellen op true. Maar deze functie heeft de uitvoering van de test vertraagd. In de meeste gevallen moeten we deze functies dus uitschakelen.

UFT Object Repository - Eigenschappenweergave
Eigenschapweergave van repository

Stap voor stap handleiding om objecten toe te voegen:

  • Open de testapplicatie en ga naar de wenspagina / scherm om objecten toe te voegen.
  • Open de lokale objectrepository vanuit UFT door op het Object Repository-pictogram te klikken of door op de toetsen "Ctrl + R" te drukken. In het geval van een gedeelde repository, kunnen we deze openen via "Bronnen-> Object Repository Manager."
  • Klik op de knop object toevoegen (groene plusknop) in de repository. Nu kunnen we met de tool het object selecteren door op het gewenste veld in de applicatie te klikken.
  • Na de selectie van een object zal een tussenliggende "Objectselectie - Toevoegen aan repository" pop-up verschijnen. Klik op de OK-knop om het object toe te voegen.
  • Nadat we het object hebben toegevoegd, kunnen we de eigenschappen of logische namen bewerken op basis van de vereisten.

Objectopslagbeheer:

Object repository manager wordt gebruikt om te beheren / werken met een gedeelde repository. We kunnen objecten uit de gedeelde repository toevoegen, bijwerken en verwijderen via de wizard. Navigatie om te openen - Bronnen -> Object Repository Manager.

Een opslagplaats voor gedeelde objecten maken:

De verschillende benaderingen zijn - 

  • Maken via Object Repository Manager - Open “Bronnen-> Object Repository Manager” en voeg objecten toe vanuit dit venster. Nadat we objecten hebben toegevoegd, kunnen we het opslaan als een .tsr-bestand om een ​​opslagplaats voor gedeelde objecten te maken.
  • Lokale opslagplaats omzetten in gedeelde opslagplaats - Exporteren van de opslagplaats voor lokale objecten (Bestand -> Lokale objecten exporteren) naar een opslagplaats voor gedeelde objecten.
  • Drag Drop-aanpak - Sleep de objecten uit de lokale opslagplaats en zet ze neer in een gedeelde opslagplaats.

Associate Shared Object Repository in actie: 

Er zijn twee opties beschikbaar -

  • Klik in de Solution Explorer van UFT met de rechtermuisknop op het actienaamknooppunt en selecteer de Associate Repository met actie.
  • Selecteer in het dialoogvenster Gedeelde opslagplaats openen de objectopslagplaats en klik op Openen.

Object Repository Vergelijkingstool:

Dit wordt gebruikt om twee gedeelde opslagplaatsen te vergelijken en de mismatches te identificeren. 

  • Deze tool kan worden geopend vanuit "Object Repository Manager" via het volgende pad - "Tools-> Object repository Comparision Tool."
  • Selecteer zowel de gedeelde repository en druk op de knop OK.
  • Nu zullen vergelijkingsdetails beschikbaar zijn om te analyseren.
UFT Objectrepository - Vergelijkingstool voor objectrepository's
Object Repository Vergelijkingstool

Hulpprogramma voor het samenvoegen van objectenopslagplaatsen:

Dit wordt gebruikt om twee gedeelde repository's samen te voegen tot één. 

  • Het samenvoeggereedschap kan worden geopend vanuit "Object Repository Manager" via het volgende pad - "Tools-> Objectrepository Merge Tool."
  • We moeten de primaire en secundaire opslagplaatsen selecteren om samen te voegen. 
  • Analyseer nu de conflicten en bewaar voor het samenvoegen van beide repositories in de primaire repository.
UFT Object Repository - Hulpmiddel voor het samenvoegen van Object Repository
Tool voor het samenvoegen van objectenopslagplaatsen

Omgaan met dynamische objecten: 

Er zijn twee opties beschikbaar om dynamische objecten te behandelen - 

  • Beschrijvende programmeeraanpak - We bespreken later beschrijvend programmeren in dit artikel.
  • Reguliere expressie - Het is een reeks tekens die een patroon / tekenreeks vormen die wordt gebruikt om de objecten te identificeren. We kunnen het definiëren door het dynamische deel van alle eigenschappen te vervangen door wilde karakters. Laten we het onderstaande voorbeeld bekijken - 

We hebben een dynamische link met tekst als - "Huidige datum is 03-04-2000". Hier kunnen we zien dat in deze link het "Huidige datum is" -gedeelte constant is, door het rustgedeelte wordt het elke dag veranderd. We kunnen dus het onderstaande patroon gebruiken bij het definiëren van de objecten in Object Repository -

"Huidige datum is. *”- Hier staat '. *' Voor elke string van elke grootte.

"De huidige datum is \\d\\d-\\d\\d-\\d\\d\\d\\d” – Hier kan ‘\\d’ slechts één numeriek cijfer vervangen.

Evenzo zijn er meer reguliere expressies beschikbaar. Klik alstublieft hier om dat te zien.

Beschrijvende programmering:

Beschrijvend programmeren is een benadering om de beschrijving van het object tijdens de uitvoeringstijd te definiëren. Door deze aanpak kunnen we de testgevallen uitvoeren wanneer de objecten niet in de objectrepository zijn opgeslagen. 

De doeleinden van het gebruik van de Descriptive Programming-benadering zijn:

  • Het testobject is dynamisch van aard.
  • Om testcases uit te voeren zonder objecten toe te voegen in Object Repository.
  • De uitvoeringsprestaties kunnen afnemen als we een grote objectrepository gebruiken. Beschrijvende programmering kan worden gebruikt om dit te vermijden.
  • ChildObjects worden gebruikt om een ​​verzameling objecten te maken die op elkaar zijn afgestemd op basis van de gedefinieerde objectbeschrijvingen. De bovenliggende objecten gaan verder met ChildObjects. Voorbeeld - zie bovenstaand voorbeeld.

Werken met beschrijvend programmeren: 

Er zijn twee manieren om testgevallen te ontwikkelen met behulp van beschrijvend programmeren:

1. Beschrijving Objecten - Het script wordt gemaakt met behulp van het object Description met de vereiste eigenschappen. Voorbeeld - Onderstaande beschrijvende programmeerbenadering wordt gebruikt om het aantal links op een bepaalde webpagina te vinden.

UFT Object Repository - Beschrijvende programmering
Beschrijvende programmering

2. Beschrijving Strings - De beschrijving van het object wordt als string doorgegeven tijdens het maken van de testcase. Voorbeeld -

                               Browser ("MyApp"). Pagina ("MyApp"). Link ("text: = login", "type: = Link"). Klik

Vergelijkingsonderzoek tussen objectrepository en beschrijvende programmering:

Object-opslagplaatsBeschrijvende programmering
Object moet hier worden toegevoegd.U hoeft geen object toe te voegen in OR.
Moeilijk om met dynamische objecten om te gaan.Gemakkelijk te hanteren dynamische objecten.
Verlaag de prestaties van de uitvoering.Verhoog de prestaties van de uitvoering.
Het object moet vóór uitvoering worden gedefinieerd.Objecten worden tijdens uitvoering gedefinieerd.

Virtueel object in UFT:

Soms hebben we geconstateerd dat objecten in testapplicaties niet door de UFT worden herkend voor automatisering. In plaats daarvan wordt het hele gebied geïdentificeerd als standaardvensterobjecten. Om met dit soort scenario's om te gaan, biedt UFT een functie als virtueel object om die niet-herkende objecten te definiëren als knop, link, tekstvak, enz., Op basis van hun gedrag.

We kunnen de wizard voor het maken van virtuele objecten openen via het pad - "Extra-> Virtueel object-> Nieuw virtueel object." Door de stapsgewijze instructies van deze wizard te volgen, kunnen we de virtuele objecten definiëren.

Beperkingen van virtuele objecten zijn -

  • UFT kan de virtuele objecten niet opnemen.
  • Het wordt niet beheerd door Object Repository.
  • Checkpoints kunnen hier niet worden toegevoegd.
  • Object Finder kan de virtuele objecten niet inspecteren.
  • De uitvoering kan mislukken als de schermresolutie is gewijzigd.

Creatie van virtueel object in UFT:

1. Open Virtual Object Manager vanuit de navigatie “Tools-> Virtual Object” en klik op de knop Nieuw.

2. Klik op Volgende in het scherm "Welkom bij Virtual Object Manager".

Nieuw virtueel objectscherm 1
Nieuw virtueel object in UFT - scherm 1

3. Selecteer een klas en klik op Volgende in het scherm "Map to a Standard Class".

Nieuw virtueel objectscherm 2
Nieuw virtueel object in UFT - scherm 2

4. Markeer nu met de muis het testobject uit de applicatie en klik op volgende.

Nieuw virtueel objectscherm 3
Nieuw virtueel object in UFT - scherm 3

5. Configureer nu het object en klik op volgende.

Nieuw virtueel objectscherm 4
Nieuw virtueel object in UFT - scherm 4

6. Klik nu op Voltooien om het virtuele object op te slaan.

Nieuw virtueel objectscherm 5
Nieuw virtueel object in UFT - scherm 5

Conclusie:

In dit artikel over UFT Object Repository hebben we geleerd hoe we objecten uit de te testen applicatie en de classificatie kunnen identificeren. Klik hier voor meer informatie over het ondersteuningsportaal van Microfocus. Als u zich wilt voorbereiden op UFT-interviewvragen, klikt u op hier.

Laat een bericht achter