qtp tutorial 7 qtp s object identification paradigm how qtp identify objects uniquely
Com QTP identifica objectes de manera única? - Aquest és el 7è Tutorial QTP de la nostra sèrie de formació QTP.
Ens equipem amb tots els conceptes bàsics que ens permetran escriure robustes proves QTP . Hem cobert el QTP Configuració de gravació i execució , Treballar amb la visualització de paraules clau i els altres temes relacionats.
=> Feu clic aquí per veure la sèrie de tutorials de formació QTP
Aquest és el següent article de la sèrie que parla d’un aspecte crucial de QTP: El mecanisme que utilitza per identificar un objecte de manera única . Quan mireu la pantalla següent:
Hi ha 3 botons i 2 quadres de text juntament amb altres elements en aquest diàleg.
En els exemples anteriors, quan vam introduir el nom d’usuari i la contrasenya, vam veure com QTP registrava les mateixes operacions en termes de codi programàtic, així com una taula a la vista de paraules clau. Ara, durant la reproducció, com sap QTP que el valor que proporcionem com a nom d’agent o contrasenya ha d’anar respectivament en aquests quadres d’edició. O com sap en quin botó fer clic per enviar els valors introduïts?
Intentem trobar una resposta a això.
preguntes i respostes de l'entrevista soapui pdf
És clar que QTP recorda d'alguna manera sobre quin objecte s'ha d'actuar. Com ho fa, emmagatzema l’objecte a l’AUT com a objecte de prova. A continuació, examina les seves propietats i classifica l'objecte. Per exemple, quan troba el botó D'acord, examina les seves propietats i, en funció d'aquestes, classifica l'objecte com a 'WinButton'.
QTP té un conjunt predeterminat de propietats que aprèn / emmagatzema per a cada classe d'objecte que identifica. Hi ha tres aspectes:
- Propietats obligatòries : Aquesta és la llista de propietats per a una classe determinada que sempre emmagatzema QTP. Podríem dir que aquesta és la descripció de l'objecte. També comprova això junt amb l'objecte pare per veure si la descripció és suficient per identificar l'objecte de manera única.
- Propietats d'assistència : En cas que la descripció de les propietats obligatòries sigui insuficient per identificar l'objecte, s'afegiran un conjunt de propietats no obligatòries una a l'altra fins que hi hagi prou dades per identificar l'objecte.
- Identificador ordinal : Si les propietats d'assistència tampoc resulten en una identificació única d'un objecte, QTP afegeix un identificador ordinal especial, com ara la ubicació de l'objecte a la pàgina o al codi font.
Per tant, així és com QTP forma els objectes de prova. Utilitza aquesta descripció de l'objecte de prova per cercar els objectes sobre els quals actuar durant una sessió d'execució. Tria els objectes que coincideixen perfectament amb la descripció que conté. Aquests objectes es diuen Objectes en temps d'execució.
Tret que la vostra aplicació hagi canviat significativament, la descripció de l'objecte de prova que té QTP és suficient per trobar un objecte.
Per a l'objecte WinButton que tenim a la nostra aplicació Flight, vegem quines propietats ha emmagatzemat QTP. Aquesta informació està disponible al repositori d’objectes. L'opció de menú 'Recursos-> Dipòsit d'objectes' iniciarà el OR per a nosaltres. Alternativament, podeu utilitzar CTRL + R o fer clic a la icona.
Si observeu a la finestra anterior, emmagatzemà el 'text' al WinButton com a descripció per identificar aquest botó en temps d'execució.
Per a aplicacions més complicades, el provador pot afegir o eliminar certes propietats per fer que la descripció sigui prou robusta per identificar l'objecte en temps d'execució amb més precisió. Per fer-ho, només cal que feu clic a la icona ‘+’.
Es mostraran totes les altres propietats de l'objecte. L'usuari pot optar per afegir una o més d'aquestes propietats.
També hi ha una cosa que es diu ' Identificador de relació visual ”A la pantalla OR de les propietats WinButton.
Aquesta és una característica que admet el reconeixement d'objectes segons els seus objectes veïns a l'automàtica. Un cop configurat, es crea una mena d’enllaç per als components menys estables del vostre AUT amb els objectes que siguin més identificables. QTP identificarà aquests objectes sempre que mantinguin la seva posició relativa a aquests objectes únics.
Per establir una mena d’enllaç de posició, haurem de fer clic a aquesta columna de la sala d’operacions i apareixerà la pantalla següent:
En aquesta pantalla, seleccioneu el signe ‘+’ per afegir un objecte amb el qual vulgueu que l’objecte de prova tingui un enllaç posicional.
Triaré 'Nom de l'agent' i diré que aquest objecte hauria d'estar a sobre del botó 'D'acord'.
Així és com he establert això:
Ara, si algunes propietats del botó OK canvien en el futur, QTP ho identificarà si hi ha 'Nom de l'agent' a sobre.
Identificació intel·ligent
com extreure fitxers 7z al Mac
Aquest és el mecanisme emprat per QTP en una d’aquestes dues situacions. La descripció d'un objecte que té QTP:
- No coincideix amb cap objecte d'execució
- Coincideix amb diversos objectes
Aquest és un concepte una mica avançat, de manera que hi arribarem més endavant a través d’alguns exemples per a una comprensió fàcil i elaborada.
Identificador ordinal
Es tracta d’un valor numèric que representa l’ordre relatiu de l’objecte amb objectes que tenen una descripció similar. Si un objecte 1 i un objecte 2 tenen les mateixes propietats obligatòries i d'assistència, s'utilitzarà l'identificador ordinal per reconèixer l'objecte de manera única.
Aquest valor està relacionat amb els altres objectes de la pantalla, de manera que, en cas que canviï alguna cosa a la pantalla, és possible que aquest identificador no resulti útil. Cal tenir en compte que, si les propietats obligatòries i d'assistència són suficients, no s'assigna un identificador ordinal al registre. Es pot afegir més endavant fent clic a la columna corresponent de l’objecte a la OR
Hi ha 3 tipus d'identificadors ordinaris:
- Índex: això es basa en l'ordre d'aparició d'un objecte al codi de l'aplicació
- Ubicació: basat en la ubicació d'una pantalla o diàleg o pàgina
- Temps de creació: S’utilitza només per a objectes del navegador. En cas que existeixin 2 navegadors amb propietats similars, es considera el que es crea primer i següent.
Per exemple, entenem com funciona l'identificador d'índex a la pantalla d'inici de sessió d'aplicacions de vol:
Aquests són els components següents:
Com podeu veure, el text estàtic i els quadres d’edició tenen la mateixa propietat de ‘text’.
Si sé que un d’ells és un text estàtic i l’altre és un objecte WinEdit, no hi haurà cap problema. Digueu que si es tracta de WinObject, hauré d'especificar sobre quin objecte actuar. Això només passarà quan hagi fallat la identificació obligatòria, assistencial i intel·ligent. Per tant, per dir a QTP que és què, assignaré un identificador ordinal «Índex». Ho faré des de la OR.
Establiré l’identificador de text estàtic del nom de l’agent com a 0 i, per al quadre d’edició, el definiré com a 1.
Així es veu:
Per tant, si necessito accedir al text estàtic, ho faré de la següent manera:
WinObject ('text: = Nom de l'agent:', índex: = 0) - Això farà referència al text estàtic
WinObject ('text: = nom de l'agent:', índex: = 1) - Això es referirà al quadre Edita
La mateixa teoria s'aplica també a l'identificador d'ubicació, tret que escollirem la ubicació de la finestra per determinar el valor numèric aplicable a un objecte determinat.
Configuració de les propietats d’identificació d’objectes:
Les propietats d'assistència obligatòries i els identificadors ordinaris que cal tenir en compte per reconèixer un objecte d'una determinada classe es poden configurar mitjançant 'Eines-> Identificador d'objectes'. També podem establir les propietats d’identificació intel·ligent a través d’aquesta finestra.
La finestra té el següent aspecte:
Com es pot veure en aquesta imatge superior, es pot triar l’entorn al quadre desplegable. Un cop escollit això, es mostren a la llista les classes d'objectes dels entorns corresponents. Després de seleccionar un objecte, es mostren les propietats obligatòries i d'assistència. L'usuari pot afegir / eliminar propietats addicionals a aquesta llista.
A més, la identificació intel·ligent es pot habilitar / desactivar per a una determinada classe d’objectes quan sigui necessari. Per definir l’identificador ordinal hi ha un menú desplegable que es pot triar per identificar l’objecte mitjançant la ubicació, l’índex o el temps de creació (només per al tipus de navegador).
Completarem els conceptes fonamentals abans de passar a programes QTP de ple dret. El proper article de QTP tindrà diferents modes de gravació, objecte espia, repositori d’objectes, etc.
=> Visiteu aquí la sèrie de tutorials de formació QTP
Lectura recomanada
- Dipòsit d'objectes a QTP: tutorial núm. 22
- Tutorial QTP # 18: marcs basats en dades i híbrids explicats amb exemples de QTP
- Tutorial QTP # 24 - Ús d'objectes virtuals i escenaris de recuperació en proves QTP
- Tutorial QTP núm. 6: entendre la configuració de registre i execució de QTP per a la nostra primera prova
- QTP Tutorial # 23 - Identificació d'objectes intel·ligents QTP, punt de sincronització i anàlisi de resultats de proves
- QTP Tutorial # 8: apreneu sobre els modes de gravació QTP, l’espionatge d’objectes i els dipòsits d’objectes
- Parametrizació a QTP (part 2): tutorial QTP núm. 20
- Tutorials QTP: més de 25 tutorials de formació de Quick Focus Professional Quick Test Professional (QTP)