Hoe objectidentificatie werkt in QTP/UFT?

Wat is objectidentificatie?

QTP gebruikt ook een "menselijke" technologie voor objectidentificatie. Tijdens Record, Time QTP probeert de eigenschappen van een GUI-object te leren waarop een bewerking wordt uitgevoerd. Tijdens Run-Time vergelijkt Micro Focus UFT de opgeslagen objecteigenschappen met de werkelijke eigenschappen van het object die beschikbaar zijn op het scherm en identificeert een object op unieke wijze, onafhankelijk van de locatie op een scherm

Het opgeslagen object wordt samen met zijn eigenschappen aangeroepen TEST-object

Tijdens Run-Time wordt het daadwerkelijke object dat beschikbaar is in de geteste applicatie aangeroepen Runtime-object

Dit zijn HP UFT's “Testobjectmodel”

Wat is Objectrepository?

Informatie over de testobjecten wordt opgeslagen in Object-opslagplaats

Add-ins hulp bij het instrueren Snelle test vooraf op de hoogte te zijn van de aard van het te registreren object, zodat de tijd die nodig is om de eigenschappen ervan te leren, wordt verkort

De volgende video-tutorial 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 te identificeren tijdens runtime. Een Object kan een groot aantal eigenschappen hebben die eraan gekoppeld zijn. Bijvoorbeeld, in Web Environment, kan een Button de volgende eigenschappen hebben die eraan gekoppeld zijn.

Object-opslagplaats

If QTP zal proberen alle beschikbare eigenschappen voor een object te onthouden, de grootte van de Object Repository zal groter worden en de uitvoeringstijd van het script zal 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. unieke identificatie. Deze keuze van eigenschappen (die tijdens recordtijd moeten worden opgeslagen) voor verschillende omgevingen en objecten wordt opgeslagen in Object Identificatie

Object Description, verplichte en ondersteunende eigenschappen

Een voorwerp eigendom en waarde worden genoemd Object Description. Het voorwerp Description wordt gebruikt om het overeenkomstige object uniek te identificeren. Bijvoorbeeld voor een WebButton-eigenschap "Naam" en de waarde ervan “Log in" samen kunnen worden genoemd als Object Description voor die webknop.

Om toegang te krijgen, selecteert u in QTP in het menu Extra de optie Objectidentificatie. In het dialoogvenster Objectherkenning Box u ziet een vervolgkeuzelijst met alle geïnstalleerde en geladen omgevingen.

U kunt een omgeving selecteren en QTP vult automatisch de lijst in met alle ondersteunde objecten die tot die omgeving behoren. Aan de rechterkant vermeldt QTP de eigenschappen die voor het object worden opgeslagen. De lijst is onderverdeeld in

  1. Verplichte eigenschappen wordt standaard voor dat object opgeslagen
  2. Ondersteunende eigenschappen In het geval dat QTP tijdens de recordtijd van het script GEEN unieke beschrijving kan maken van het object dat het zal opslaan ondersteunende eigenschappen

Om dit beter te begrijpen, kunt u het voorbeeld van een webafbeelding bekijken.

Object Description, verplichte en ondersteunende eigenschappen

  • QTP slaat een waarde op van alt, HTML-tag, afbeeldingstype en verplichte eigenschappen, zelfs als het deze op unieke wijze kan identificeren met alleen de alt-eigenschap.
  • Als het geen unieke beschrijving kan maken met behulp van verplichte eigendommen, zal QTP ondersteunende eigendommen opslaan. In dit geval slaat QTP de klasse-eigenschap op.
  • Als deze eigenschap helpt bij het creëren 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 creëren, zal QTP de bestandsnaameigenschap opslaan. Als de bestandsnaameigenschap een unieke beschrijving creëert, zal QTP de hoogte-eigenschap niet opslaan, enzovoort.
  • Stel dat QTP tijdens de opnametijd alleen klasse-eigenschappen heeft opgeslagen. Bij 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, Script mislukt