Wat is objectidentificatie?
QTP gebruikt ook een "mensachtige" technologie voor objectidentificatie. Tijdens Record probeert Time QTP de eigenschappen te achterhalen van een GUI-object waarop de bewerking wordt uitgevoerd. Tijdens runtime vergelijkt Micro Focus UFT de opgeslagen objecteigenschappen met de werkelijke eigenschappen van het object die beschikbaar zijn op het scherm en identificeert op unieke wijze een object onafhankelijk van de locatie op een scherm
Het opgeslagen object en samen met zijn eigenschappen wordt TEST-object genoemd
Tijdens Run-Time wordt het feitelijke object dat beschikbaar is in de te testen applicatie, Run-Time Object genoemd
Dit is het " testobjectmodel " van HP UFT
Wat is Object Repository?
Informatie over de testobjecten wordt opgeslagen in de objectrepository
Invoegtoepassingen helpen bij het instrueren van Quick Test voorafgaand aan de aard van het op te nemen object, zodat de tijd die nodig is om de eigenschappen ervan te leren, verkort wordt
De volgende videozelfstudie laat zien hoe QTP een GUI-object identificeert (op het scherm)
Klik hier als de video niet toegankelijk is
QTP slaat Object en zijn eigenschappen op in de Object Repository om ze tijdens runtime te identificeren. Een object kan een groot aantal eigenschappen hebben die eraan zijn gekoppeld. In een webomgeving kan een knop bijvoorbeeld de volgende eigenschappen hebben.
Als QTP alle beschikbare eigenschappen voor een object zal proberen te onthouden, zal de grootte van de Object Repository toenemen en zal de uitvoering van het script drastisch toenemen. Om dit te voorkomen, slaat QTP standaard niet alle eigenschappen van een object op, maar een beperkt aantal typische eigenschappen voor een object dat helpt bij de unieke identificatie ervan. Deze keuze van eigenschappen (om in recordtijd te bewaren) voor verschillende omgevingen en objecten wordt opgeslagen in Object Identification
Objectbeschrijving, verplichte en ondersteunende eigenschappen
Een object eigendom en de waarde worden genoemd Object Beschrijving . De objectbeschrijving wordt gebruikt om het corresponderende object op unieke wijze te identificeren. Voor een WebButton-eigenschap kunnen "naam" en zijn waarde "Login" samen worden aangeduid als Objectbeschrijving voor die webknop.
Om toegang te krijgen, selecteert u in QTP in het menu Extra de optie Objectidentificatie. In het dialoogvenster Objectherkenning ziet u een vervolgkeuzelijst met alle geïnstalleerde en geladen omgevingen.
U kunt een omgeving selecteren en QTP vult automatisch de lijst met alle ondersteunde objecten die bij die omgeving horen. Aan de rechterkant geeft QTP de eigenschappen weer die voor het object worden opgeslagen. De lijst is onderverdeeld in
- Verplichte eigenschappen worden standaard opgeslagen voor dat object
- Ondersteunende eigenschappen In het geval dat QTP tijdens de recordtijd van het script GEEN unieke beschrijving van het object kan maken, worden de ondersteunende eigenschappen opgeslagen
Overweeg het voorbeeld van een webafbeelding om dit beter te begrijpen.
- QTP slaat een waarde op van alt, HTML-tag, afbeeldingstype en verplichte eigenschappen, zelfs als het deze uniek kan identificeren met alleen de alt-eigenschap.
- In het geval dat het geen unieke beschrijving kan creëren met behulp van verplichte eigenschap, zal QTP ondersteunende eigenschap opslaan. In dit geval slaat QTP de class-eigenschap op.
- Als deze eigenschap helpt bij het maken van een unieke beschrijving van het object, zal QTP de bestandsnaam en de eigenschap height niet opslaan. Als een klasse-eigenschap niet voldoende is om een unieke beschrijving te maken, zal QTP de eigenschap filename opslaan. Als de eigenschap filename een unieke beschrijving maakt, zal QTP de eigenschap hoogte niet opslaan, enzovoort.
- Stel dat QTP tijdens de opnametijd alleen klasse-eigenschap heeft opgeslagen. Tijdens Runtime zal QTP het onderscheid tussen verplichte en ondersteunende eigenschappen vergeten en alle geregistreerde eigenschappen vergelijken.
- Zelfs als een van de eigenschappen niet overeenkomt met de opgeslagen waarde, mislukt het script